Java JSF/Facelets:如何在模板中创建一个子视图,在未显式设置时默认为某个内容?
我有一个页面模板:Java JSF/Facelets:如何在模板中创建一个子视图,在未显式设置时默认为某个内容?,java,templates,jsf,richfaces,facelets,Java,Templates,Jsf,Richfaces,Facelets,我有一个页面模板: <?xml version="1.0" encoding="UTF-8"?> <rich:page xmlns="http://www.w3.org/1999/xhtml" ...> <f:facet name="header"> <ui:include src="/templating/subviews/header.xhtml" /> </f:facet> <ri
<?xml version="1.0" encoding="UTF-8"?>
<rich:page xmlns="http://www.w3.org/1999/xhtml"
...>
<f:facet name="header">
<ui:include src="/templating/subviews/header.xhtml" />
</f:facet>
<rich:layout>
<rich:layoutPanel position="left" width="20%" style="margin: 0px auto 0px 1%;">
<ui:insert name="navigation" />
<ui:include src="/templating/subviews/login.xhtml" />
</rich:layoutPanel>
<rich:layoutPanel position="right" width="80%" style="margin: 0px 1% 0px auto; padding: 0px 0px;">
<rich:panel styleClass="content">
<ui:insert name="content" />
</rich:panel>
</rich:layoutPanel>
</rich:layout>
</rich:page>
不要被RichFaces的东西吓倒,它只会产生一个两列的布局。可在此处查看结果:
现在的问题是:如何创建一个可选的login/auth部分,如果没有向模板中传递任何内容,该部分将默认为登录面板
,但是如果显式设置或传递了某些内容,登录面板将不会显示
我只需要几个页面,我不想/不需要显示登录面板,但对于大多数页面,它应该显示。我真的不想为此创建另一个模板
注意,我正在寻找一种让模板使用登录面板ui的方法:默认情况下包括,并且只为覆盖它的少数客户端传入一些内容。我不想要求大多数模板客户端传入值。我在这里寻找一种默认/回退机制
它是如何完成的?难道不能在带有条件块的标记内完成吗?无选项首先,这是关于Facelets模板(主要是ui:tags的用法),然后,请不要误解我的意思,但如果我有答案,我不会问。老实说,我不知道简单的HTML标记在这里是如何应用的。我对功能要求并不完全清楚,但您熟悉JSF
rendered
属性吗?是的。我想知道如何将一个布尔值从模板客户端获取到模板中。也许有一种方法可以在某种程度上使用ui:param传递值,但我还没找到方法。(功能需求是由我设定的,但如果它不起作用,我将别无选择,只能放弃这个想法)