JSF + PrimeFaces 返回空白页



我是JSF和PrimeFaces的新手

这就是我的领域.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>

这是现场控制器

@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();
}
}

最后我只看到空白的白页。请帮我找到我的问题在哪里。

使用以下代码进行测试。Primefaces自动调用getter方法。您只需设置字段名称。与您的示例一样,它们仅在 getter 方法中使用方法名称而不使用 get (#{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>

最新更新