【问题标题】:JSF + PrimeFaces returns blank pageJSF + PrimeFaces 返回空白页
【发布时间】:2017-03-25 17:47:45
【问题描述】:

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

}

最后我只看到空白页。 请帮我找出问题所在。

【问题讨论】:

  • 服务器日志有异常吗?
  • 没有例外。 Hibernate 从 db 获取数据。日志中有字段。数据甚至到达页面。

标签: jsf primefaces jsf-2


【解决方案1】:

使用以下代码进行测试。 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>

【讨论】:

    猜你喜欢
    • 2012-08-09
    • 2019-06-21
    • 2017-11-20
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多