【问题标题】:How to hide a common link on a particular page only?如何仅隐藏特定页面上的常用链接?
【发布时间】:2016-12-06 06:12:26
【问题描述】:

假设 n 页应用程序包含指向page A 的链接。 但是该链接实际上放置在该 n 页的模板部分中。

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

这个想法是在从任何其他 n 页转换到 page A 时隐藏到 page A 的链接。 IE。当我们在任何 n 个页面上时,该链接存在,但我们是 page A,则该链接被隐藏。

我怎样才能通过一点点努力实现这一目标?

【问题讨论】:

    标签: javascript jsf jsf-2 jsf-2.2


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-17
      相关资源
      最近更新 更多