2011-02-08 49 views
1

我从来没有这样的问题获得最简单的东西在Java EE 6中工作。我有一个非常基础的项目。我试过调试。等等,我不知道该怎么做。最简单的JSF 2.0应用程序将无法工作

这是我的豆。

@Named(value = "contactsBean") 
@SessionScoped 
public class ContactsBean implements Serializable { 

    @EJB 
    ContactsFacade contactsEJB; 
    private List<Contacts> contacts = new ArrayList<Contacts>(); 

    public ContactsBean() { 

    } 

    public String next() { 
     contacts = contactsEJB.findAll();   
     return "index"; 
    } 

    /** 
    * @return the contacts 
    */ 
    public List<Contacts> getContacts() { 
     return contacts; 
    } 

    /** 
    * @param contacts the contacts to set 
    */ 
    public void setContacts(List<Contacts> contacts) { 
     this.contacts = contacts; 
    } 
} 

好的。很基本。

这是我的xhtml页面。

<ui:define name="content"> 

      <h:form> 
       <h:dataTable value="#{contactsBean.contacts}" var="contacts"> 
        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="Name"/> 
         </f:facet>  
         <h:outputText value="#{contacts.name}"/> 
        </h:column> 

        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="Street"/> 
         </f:facet>  
         <h:outputText value="#{contacts.street}"/> 
        </h:column> 

        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="City"/> 
         </f:facet>  
         <h:outputText value="#{contacts.city}"/> 
        </h:column> 

        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="State"/> 
         </f:facet>  
         <h:outputText value="#{contacts.state}"/> 
        </h:column> 

        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="Zip"/> 
         </f:facet>  
         <h:outputText value="#{contacts.zip}"/> 
        </h:column> 

        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="Country"/> 
         </f:facet>  
         <h:outputText value="#{contacts.country}"/> 
        </h:column> 

        <h:column> 
         <f:facet name="header"> 
          <h:outputText value="Sent?"/> 
         </f:facet>  
         <h:selectBooleanCheckbox value="#{contacts.sent}" /> 
        </h:column> 
       </h:dataTable> 


       <h:commandButton value="next &gt;" action="#{contactsBean.next}"/>  


      </h:form> 

     </ui:define> 

好的,当我点击下一个按钮我的列表应该填充。至少它始终在Java EE 5中发挥作用。我不确定我做错了什么。我试图做一个简单的分页器,但即使这样也行不通。该模型从未得到更新。

世界正在发生什么。我在没有EJB的情况下尝试了它,它也没有工作。

+0

你正在使用什么容器? – Eduard 2011-02-09 00:50:59

回答

1

我发现原因。

有SessionScoped注释的不同包。

javax.enterprise.context.SessionScoped和javax.faces.context.SessionScoped。

因为我使用@Named(value =“contactsBean”)注入,所以我需要使用javax.enterprise。 @ManagedBean(name =“contactsBean”)与javax.faces.context一起使用。

相关问题