让我们说n页的应用程序包含指向page A
的链接。
但该链接实际上放在那些n页的模板部分中。
请注意,page A
也包含该模板部分。因此,page A
中也存在该链接。
想法是在从任何其他n页转换到page A
时隐藏到page A
的链接。即当我们在任何n页面上,那么该链接存在但我们是page A
然后该链接被隐藏。
如何通过一点努力实现这一目标?
答案 0 :(得分:1)
您可以使用rendered
属性并检查其中的viewId。在你的情况下:
<h:commandLink rendered="#{view.viewId ne '/pageA.xhtml'}"/>
在此例外h:commandLink
将在除pageA.xhtml
您还可以使用ui:param标记在模板中传递参数。因此,仅当参数为true时才在模板中呈现链接:
<!-- template.xhtml: -->
<h:commandLink rendered="#{renderLinkParam}"/>...<ui:insert name="myPage"/>
并在页面上使用此代码传递参数:
<ui:composition template="template.xhtml">
<ui:param name="renderLinkParam" value="#{true}" />
<ui:define name="myPage">...
</ui:define>
</ui:composition>