0

我有一个非常简单的页面模板定义“af:pageTemplateDef”(TemplateAdmin4.jsf)。如您所见,模板根包含一个panelStretchLayout,它应该使模板拉伸到其父级(垂直和水平)。

<?xml version='1.0' encoding='UTF-8'?>
<af:pageTemplateDef xmlns:af="http://xmlns.oracle.com/adf/faces/rich" var="attrs" definition="private"
                xmlns:afc="http://xmlns.oracle.com/adf/faces/rich/component" xmlns:f="http://java.sun.com/jsf/core">
<af:xmlContent>
    <afc:component>
        <afc:display-name>TemplateAdmin4</afc:display-name>
    </afc:component>
</af:xmlContent>
<af:panelStretchLayout id="pt_psl1">
    <f:facet name="center">
        <af:panelAccordion id="pa1">
            <af:showDetailItem text="    Getting started DATASOURCES" id="sdi1">
                <af:outputText value="Here are a few things that can get you started." id="ot3"/>
            </af:showDetailItem>
        </af:panelAccordion>
    </f:facet>
</af:panelStretchLayout>
</af:pageTemplateDef>

而且我有.jsf页面(ErrorPage.jsf),我将模板放在上面,你可以看到< af:pageTemplate viewId="/TemplateAdmin4.jsf" id="pt2"/>这一行

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<af:document title="ErrorPage.jsf" id="d1">
    <af:form id="f1">
        <af:panelStretchLayout id="psl1">
            <f:facet name="center">
                <af:panelSplitter id="ps1">
                    <f:facet name="first">
                        <af:navigationPane id="np1">
                            <af:commandNavigationItem text="commandNavigationItem 1" id="cni1"/>
                        </af:navigationPane>
                    </f:facet>
                    <f:facet name="second">
                        <af:pageTemplate viewId="/TemplateAdmin4.jsf" id="pt2"/>
                    </f:facet>
                </af:panelSplitter>
            </f:facet>
        </af:panelStretchLayout>
    </af:form>
</af:document>
</f:view>

最后,我放置的模板没有拉伸到页面中。为什么会这样?如您所见,我也在 E​​rrorPage.jsf 页面中放置一个panelStrechLayout。和其中的一个pannelSplitter(它的DimensionsForm也设置为父级)。

4

3 回答 3

1

我注意到如果我使用嵌套模板,我就没有这个问题。我的意思是如果在其他模板定义(pageTemplateDef)中使用模板。所以这就是我为解决我的问题所做的

于 2013-03-19T17:24:55.053 回答
0

在 af:panelStretchLayout 的样式类中使用 AFStretchWidth

于 2013-03-16T11:27:39.330 回答
0

我遇到了同样的问题,并通过将 styleClass="AFVisualRoot" 添加到模板中的根 af:panelStretchLayout 组件来修复它。

于 2013-12-11T06:43:06.103 回答