2011-02-08 50 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一起使用。

相關問題