Primefaces模板 - 南方位置不起作用

时间:2013-09-24 21:03:56

标签: jsf jsf-2 primefaces

我遇到了以下问题。当我设置一切正常。但是我希望从顶部,左侧和右侧有边距,所以我将fullPage设置为false。然后在页面顶部显示id为“south”(以及南侧位置)的layoutUnit。试图修复它,但没有效果。

这是我模板的代码:

  <!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core">
<f:view contentType="text/html" id="fview">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>#{msg['Title']}</title>
<f:metadata>
    <ui:insert name="metadata" />
</f:metadata>

<h:head>


<h:head>



<p:layout fullPage="false" style="margin: 2em !important;">
    <p:layoutUnit position="north" size="100" id="north" style="box-shadow: 5px 5px 5px #888888;">
        <ui:include src="header.xhtml" />
    </p:layoutUnit>

    <p:layoutUnit position="west" id="west" resizable="false" header="#{msg['menuTitle']}" style="height:500px;overflow:hidden;box-shadow: 5px 5px 5px #888888;" size="225">
        <ui:include src="menu.xhtml" />
    </p:layoutUnit>

    <p:layoutUnit styleClass="styleOrange" position="center" style="padding:20px;box-shadow: 5px 5px 5px #888888;">
        <h:form id="mainForm">
            <p:messages autoUpdate="true" id="msgs" showDetail="true" showSummary="true" />
            <ui:insert name="content" />
        </h:form>
    </p:layoutUnit>
    <p:layoutUnit position="south" resizable="false" id="south" style="box-shadow: 5px 5px 5px #888888;">
        <ui:include src="footer.xhtml" />
    </p:layoutUnit>
</p:layout>


</h:head>
</h:head>
<h:body onload="statusDialog.hide();">
</h:body>

</f:view>
</html>

2 个答案:

答案 0 :(得分:1)

除了center layoutUnit,其他布局单元必须具有通过size选项定义的尺寸。尝试将其添加到南方单位

答案 1 :(得分:0)

页脚超出了视图范围而没有大小。中心layoutUnit占用了所有空间。尝试将layout元素的fullPage属性更改为true,您将看到页脚。

<p:layout fullPage="true" style="margin: 2em !important;">