primefaces组件(P:layout)完全不起作用

时间:2013-06-21 15:08:23

标签: jsf layout jsf-2 primefaces

我正在尝试使用PrimeFaces展示的示例 ElementLayout但布局根本没有显示!

我已经看到了一个与我的问题相关的问题,例如(正确的名称空间,doctype ......),但对我来说没有任何作用。

在我的pom文件中,我声明了jsf-api:2.0(已提供)和primefaces:3.5

我的layout.xhtml看起来像这样:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html
 xmlns="http://www.w3.org/1999/xhtml"
 xmlns:f="http://java.sun.com/jsf/core"
 xmlns:h="http://java.sun.com/jsf/html"
 xmlns:ui="http://java.sun.com/jsf/facelets"
 xmlns:p="http://primefaces.org/ui">

 <h:head>
    <title>Title</title>
  </h:head>
  <h:body>
          <p:layout fullPage="true">
        <p:layoutUnit position="north" size="100" header="Top" resizable="true" closable="true" collapsible="true">
            <h:outputText value="Top unit content." />
          </p:layoutUnit>

          <p:layoutUnit position="south" size="100" header="Bottom" resizable="true" closable="true" collapsible="true">
              <h:outputText value="South unit content." />
          </p:layoutUnit>

         <p:layoutUnit position="west" size="200" header="Left" resizable="true" closable="true" collapsible="true">
            <h:form>
                <!-- ..... -->
            </h:form>
         </p:layoutUnit>

        <p:layoutUnit position="east" size="200" header="Right" resizable="true"    closable="true" collapsible="true" effect="drop">
            <h:outputText value="Right unit content." />
        </p:layoutUnit>

        <p:layoutUnit position="center">
            <ui:insert name="content">Put default content here, if any.</ui:insert>
        </p:layoutUnit>
    </p:layout>
</h:body>        

我显示的page.xhtml如下所示:

  <ui:composition template="/templates/layout.xhtml"
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:f="http://java.sun.com/jsf/core"
   xmlns:h="http://java.sun.com/jsf/html"
   xmlns:ui="http://java.sun.com/jsf/facelets"
   xmlns:p="http://primefaces.org/ui">      
   <ui:define name="content">
     <h:form>
        <p:commandButton value="View" icon="ui-icon-extlink"
            actionListener="#{dialogBean.viewCars()}" />

        <p:commandButton value="Options" icon="ui-icon-extlink"
            actionListener="#{dialogBean.viewCarsCustomized()}" />
    </h:form>
  </ui:define>
    </ui:composition>

我在primefaces展示了所有类型的布局,没有人适合我

enter link description here

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

这是造型问题。 从Primefaces Aristo

下载此jar

并确保它在应用程序类路径中可用 并对web.xml文件进行更改不要为“primefaces.THEME”指定任何context-param。

希望这有帮助

答案 1 :(得分:0)

在JSF中呈现布局的类似问题。解决方案在web.xml中。

web.xml中的

<welcome-file-list>应如下所示

<welcome-file-list>
    <welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>

如果您只有index.xhtml,则不会呈现布局