<af:pageTemplate> jsf 模板在我的页面中没有拉伸



我有一个非常简单的页面模板定义"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 page (ErrorPage.jsf),我在上面放置了模板,您可以看到<房颤:pageTemplate viewId="/TemplateAdmin4。jsf " id=" pt2 " xmlns:房颤="#unknown" />

<?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>

最后,我放置的模板没有拉伸到页面中。为什么会发生这种情况?如您所见,我在ErrorPage中放置了一个panelStrechLayout。jsf页面。和一个pannelSplitter在里面(它的DimensionsForm也被设置为parent)。

我注意到,如果我使用嵌套模板,我没有这个问题。我的意思是,如果使用模板内部的其他模板定义(pageTemplateDef)。这就是我解决问题的方法

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

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

相关内容

  • 没有找到相关文章

最新更新