2016-08-01 17 views
0

アプリケーションのnページにpage Aへのリンクが含まれているとします。 しかし、そのリンクは実際にはそのnページのテンプレート部分に配置されています。特定のページの共通リンクを非表示にするにはどうすればよいですか?

page Aには、そのテンプレート部分も含まれています。そのリンクはpage Aにも存在します。

考えられるのは、他のnページから遷移したときのリンクをpage Aに非表示にすることです。page Aです。私。私たちがnページのいずれかにいる場合、そのリンクは存在しますが、私たちはpage Aであり、そのリンクは隠されています。

少し努力して、どうすれば達成できますか?

答えて

1

rendered属性を使用し、その中にviewIdをチェックすることができます。ヨールの場合:このexmapleで

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

h:commandLinkはまた、あなたがui:paramタグを使用して、テンプレートにパラメータを渡すことができpageA.xhtml

を除くすべてのページにレンダリングされます。

<ui:composition template="template.xhtml"> 
     <ui:param name="renderLinkParam" value="#{true}" /> 
     <ui:define name="myPage">... 
     </ui:define> 
</ui:composition> 

<!-- template.xhtml: --> 
<h:commandLink rendered="#{renderLinkParam}"/>...<ui:insert name="myPage"/> 

そして、あなたのページにこのコードを使用してパラメータを渡す:trueパラメータが場合にのみ、だからあなたは、テンプレート内のリンクをレンダリング

関連する問題