2013-07-09 3 views
0

Мой JSF Страница:Введенный CDI Bean возвращение нулевые значения

<h:form> 
    <p> 
     <h:outputLabel for="phone">Phone: <h:message class="alert" for="phone"/> 
      <h:message class="alert" for="phoneLogin"/> 
     </h:outputLabel> 
     <p:inputText id="phone" value="#{userBean.mobile_phone}"> 
      <f:validator validatorId="phoneValidation"/> 
     </p:inputText> 
     <p:watermark for="phone" value="+79123456789"/> 
    </p> 
    <p> 
     <h:outputLabel for="password"> 
      Password: <h:message class="alert" for="password"/> 
     </h:outputLabel> 
     <p:password id="password" value="#{userBean.password}"> 
      <f:validator validatorId="passValidation"/> 
     </p:password> 
    </p> 
    <p style="text-align: center"> 
     <p:commandButton id="phoneLogin" update="@form" binding="#{dataBean.phoneLogin}" 
         value="Login" action="#{dataBean.loginProfile}"/> 
    </p> 
</h:form> 

Мой UserBean код:

import javax.enterprise.context.SessionScoped; 
import javax.inject.Named; 
import java.io.Serializable; 

@Named 
@SessionScoped 
    //user data. getters and setters 

Мой DataBean код:

import javax.ejb.EJB; 
import javax.ejb.Stateless; 
import javax.inject.Inject; 
import javax.inject.Named; 

@Named 
@Stateless 
public class DataBean{ 

@Inject 
private UserBean userBean; 
//class logic 

Когда я нажимаю кнопку, я должен быть вошедший в систему по loginProfile метод в DataBean класс. Но аннотация @Inject возвращает null значения, и я получаю NullPointerException. Весь импорт в порядке. Я использую только компоненты CDI, и я действительно не понимаю, почему я не могу получить значения из класса UserBean. Я надеюсь, что кто-то может мне помочь.

+0

- это ваш DataBean в той же войне? –

+0

@SazzadurRahaman Nope – rubaka

+0

Ну, в JEE 6 вы можете упаковать ejb на войне. И это должно решить вашу проблему. –

ответ

1

Если программа не работает, но вы уверены, что все в порядке. Попробуйте очистить целевой каталог и попробуйте еще один. Это работает для меня.

+0

Вы говорите, что решение вашей проблемы состояло в том, чтобы сделать чистую сборку? – ChrisF

+0

@ChrisF Да. Я не могу поверить, что меняю код более одного часа, и проблема была в этом :(Очень грустно – rubaka

+0

Отлично! Это работает для меня (я использую Netbeans + TomEE), спасибо –

Смежные вопросы