2016-08-01 131 views
0

假设n页应用程序包含指向page A的链接。 但是,该链接实际上放置在该n页的模板部分中。如何隐藏特定页面上的常用链接?

请注意,page A也包含该模板部分。因此该链接也存在于page A中。

这个想法是当从其他n页到page A发生转换时隐藏到page A的链接。即当我们在任何一个n页上时,那个链接是存在的,但是我们是一个page A那么这个链接是隐藏的。

我该如何通过一点努力才能做到这一点?

回答

1

您可以使用rendered属性并检查其中的viewId。在侑情况:

<h:commandLink rendered="#{view.viewId ne '/pageA.xhtml'}"/> 

在此〔实施例h:commandLink将在所有页面中呈现,除了pageA.xhtml

您也可以通过使用ui:param标签传递到自己的模板参数。所以你呈现模板链接仅在参数真:

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