我是JSF和PrimeFaces的新手
所以这是我的fields.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:body>
<h:form>
<p:dataTable var="field" value="#{fieldController.getFields()}">
<p:column headerText="Id">
<h:outputText value="#{field.field_id}" />
</p:column>
<p:column headerText="Label">
<h:outputText value="#{field.lable}" />
</p:column>
<p:column headerText="Type">
<h:outputText value="#{field.type}" />
</p:column>
<p:column headerText="Required">
<h:outputText value="#{field.required}" />
</p:column>
<p:column headerText="Is Active">
<h:outputText value="#{field.isActive}" />
</p:column>
</p:dataTable>
</h:form>
</h:body>
</html>
这是FieldController
@ManagedBean(name = "fieldController", eager = true)
public class FieldController {
@ManagedProperty("#{fileDAO}")
private FieldDAO fieldDAO;
public FieldDAO getFieldDAO() {
return fieldDAO;
}
public void setFieldDAO(FieldDAO fieldDAO) {
this.fieldDAO = fieldDAO;
}
public List<Field> getFields() throws Exception{
return fieldDAO.getFields();
}
}
最后我只看到空白的白页。 请帮我找一下我的问题所在。
答案 0 :(得分:0)
使用以下代码进行测试。 Primefaces自动调用getter方法。您只需设置字段名称即可。在您的示例中,他们只使用getter方法使用方法名称而不使用(#{fieldController.fields} )
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:body>
<h:form>
<p:dataTable var="field" value="#{fieldController.fields}">
<p:column headerText="Id">
<h:outputText value="#{field.field_id}" />
</p:column>
<p:column headerText="Label">
<h:outputText value="#{field.lable}" />
</p:column>
<p:column headerText="Type">
<h:outputText value="#{field.type}" />
</p:column>
<p:column headerText="Required">
<h:outputText value="#{field.required}" />
</p:column>
<p:column headerText="Is Active">
<h:outputText value="#{field.isActive}" />
</p:column>
</p:dataTable>
</h:form>
</h:body>
</html>