Java 最简单的JSF2.0应用程序将无法工作
我从未遇到过在JavaEE6中使用最简单的东西的问题。我有一个非常基本的项目。我试过调试。等等,我不知道该怎么办 这是我的豆子Java 最简单的JSF2.0应用程序将无法工作,java,jsf-2,java-ee-6,Java,Jsf 2,Java Ee 6,我从未遇到过在JavaEE6中使用最简单的东西的问题。我有一个非常基本的项目。我试过调试。等等,我不知道该怎么办 这是我的豆子 @Named(value = "contactsBean") @SessionScoped public class ContactsBean implements Serializable { @EJB ContactsFacade contactsEJB; private List<Contacts> contacts = new A
@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;
}
}
@Named(value=“contactsBean”)
@会议范围
公共类ContactsBean实现可序列化{
@EJB
ContactsFacade contactsEJB;
private List contacts=new ArrayList();
公共联系人Bean(){
}
公共字符串next(){
contacts=contactsEJB.findAll();
返回“索引”;
}
/**
*@返回联系人
*/
公共列表getContacts(){
返回联系人;
}
/**
*@param联系要设置的联系人
*/
公共联系人(列出联系人){
这个。联系人=联系人;
}
}
嗯。非常基本
这是我的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 >" action="#{contactsBean.next}"/>
</h:form>
</ui:define>
好的,当我点击“下一步”按钮时,我的列表将填充。至少它在JavaEE5中总是这样。我不确定我做错了什么。我试图做一个简单的分页器,但即使这样也不行。模型永远不会更新
到底发生了什么事。我在没有EJB的情况下尝试了它,但它也不起作用。我找到了原因 不同的包有不同的SessionScoped注释 javax.enterprise.context.SessionScoped和javax.faces.context.SessionScoped
因为我使用@Named(value=“contactsBean”)注入,所以我需要使用javax.enterprise@ManagedBean(name=“contactsBean”)与javax.faces.context一起使用。我找到了原因 不同的包有不同的SessionScoped注释 javax.enterprise.context.SessionScoped和javax.faces.context.SessionScoped
因为我使用@Named(value=“contactsBean”)注入,所以我需要使用javax.enterprise@ManagedBean(name=“contactsBean”)与javax.faces.context一起使用。您要开发哪个容器?您要开发哪个容器?