Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PrimeFaces组件不';当标准JSF组件渲染良好时,不会显示_Jsf_Jsf 2_Primefaces - Fatal编程技术网

PrimeFaces组件不';当标准JSF组件渲染良好时,不会显示

PrimeFaces组件不';当标准JSF组件渲染良好时,不会显示,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,Java EE6/CDI JSF2 Primefaces 3.3.1。如果我使用jsf,我创建了一个带有几个级联下拉列表的搜索页面,这些下拉列表用于生成搜索结果表: <h:dataTable var="_employeeVList" value="#{employeeVProducer.employeeVList}" rendered="#{not empty employeeVProducer.employeeVList}"> <f:facet name="he

Java EE6/CDI JSF2 Primefaces 3.3.1。如果我使用jsf,我创建了一个带有几个级联下拉列表的搜索页面,这些下拉列表用于生成搜索结果表:

<h:dataTable  var="_employeeVList" value="#{employeeVProducer.employeeVList}"  rendered="#{not empty employeeVProducer.employeeVList}"> 
    <f:facet name="header">  
        Employee Search Results 
    </f:facet>
    <h:column>
        <f:facet name="header">Area</f:facet>
        <h:outputText value="#{_employeeVList.areaName}" />
    </h:column>
    ...
</h:dataTable>

员工搜索结果
地区
...
该表以输出方式呈现,html看起来正常。但当我换成素面时:

<p:dataTable  var="_employeeVList" value="#{employeeVProducer.employeeVList}"  rendered="#{not empty employeeVProducer.employeeVList}"> 
    <f:facet name="header">  
        Employee Search Results 
    </f:facet>
    <p:column>
        <f:facet name="header">Area</f:facet>
        <h:outputText value="#{_employeeVList.areaName}" />
    </p:column>
    ...
</p:dataTable>

员工搜索结果
地区
...
这张桌子不显示。当我查看firebug的源代码时,我发现html有些奇怪:

    <table id="searchForm:results">
    <tbody>
    <tr>
    <td>
    <p:datatable rendered="true" value="[com.raytheon.myPkg.EmployeeV@f486,                                 com.raytheon.myPkg.EmployeeV@88fe,                              com.raytheon.myPkg.EmployeeV@adaf, 
                                          ...
                                com.raytheon.myPkg.EmployeeV@6a5b]" 
var="_employeeVList">
    <p:column></p:column>
    <p:column></p:column>
    ...                          
    </p:datatable></td>
    </tr>
    </tbody>
    </table>

...                          
对象位于标记标签中,列为空。 在页面的其他地方,我使用的是p:panelGrid,它包含下拉列表并正确显示

我的默认模板页面中有h:head和h:body

该表由有状态请求范围的bean支持

我没有使用任何外部JavaScript

我做错了什么?

因此,
标记根本没有被解析为JSF标记,并且在生成的HTML输出中看起来很普通。可能有以下一个或多个原因:

  • 您忘记在视图中声明
    p:
    XML名称空间,或者使用了错误的名称空间URI。应该是:

    xmlns:p="http://primefaces.org/ui"
    
  • 您忘记实际安装PrimeFaces库。这应该是两者中的一个

    a。正在webapp的
    /WEB-INF/lib
    文件夹中放置
    primefaces.jar

    b。确保您的依赖关系管理器(例如Maven)已配置为将PrimeFaces添加到项目中,并将其添加到运行时
    /WEB-INF/lib
    文件夹中

  • 因此,
    标记根本没有被解析为JSF标记,并且在生成的HTML输出中看起来很普通。可能有以下一个或多个原因:

  • 您忘记在视图中声明
    p:
    XML名称空间,或者使用了错误的名称空间URI。应该是:

    xmlns:p="http://primefaces.org/ui"
    
  • 您忘记实际安装PrimeFaces库。这应该是两者中的一个

    a。正在webapp的
    /WEB-INF/lib
    文件夹中放置
    primefaces.jar

    b。确保您的依赖关系管理器(例如Maven)已配置为将PrimeFaces添加到项目中,并将其添加到运行时
    /WEB-INF/lib
    文件夹中


  • 要在BalusC的列表中添加另一个原因:

    如果您不向URL添加servlet URL映射,您将得到奇怪的输出,JSF将不会解析您的XHTML页面

    例如,如果web.xml中有以下URL映射:

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    
    
    Facesservlet
    /面孔/*
    
    您应该使用
    /faces/yourpage.xhtml
    通过JSF正确呈现输出


    如果使用
    /yourpage.xhtml
    ,您将看到奇怪的输出。

    要在BalusC的列表中添加另一个原因:

    如果您不向URL添加servlet URL映射,您将得到奇怪的输出,JSF将不会解析您的XHTML页面

    例如,如果web.xml中有以下URL映射:

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    
    
    Facesservlet
    /面孔/*
    
    您应该使用
    /faces/yourpage.xhtml
    通过JSF正确呈现输出


    如果使用
    /yourpage.xhtml
    您将看到奇怪的输出。

    doh,名称空间是我检查的第一件事-显然不够接近。Thanx@BalusCdoh,名称空间是我检查的第一件事——显然不够接近。Thanx@Balusc确实如此,但在OP的特殊情况下,
    起作用了,所以我勾选了这种可能性:)确实如此,但在OP的特殊情况下,
    起作用了,所以我勾选了这种可能性:)