2016-08-01 2 views
0

n 페이지의 애플리케이션에 page A에 대한 링크가 포함되어 있다고 가정 해 보겠습니다. 하지만 그 링크는 실제로 n 페이지의 템플릿 부분에 위치합니다.특정 페이지의 공통 링크 만 숨기는 방법은 무엇입니까?

page A에는 해당 템플릿 부분도 포함되어 있습니다. 그 링크가 page A에도 있습니다.

아이디어는 어떤 다른 n 페이지에서 전환이 page A으로 발생했을 때 링크를 page A으로 숨기는 것입니다. 나는. 우리가 n 페이지 중 하나에 있으면 그 링크가 존재하지만 우리는 page A 이니 그 링크가 숨겨져 있습니다.

약간의 노력만으로 어떻게해야합니까?

답변

1

rendered 속성을 사용하고 viewId를 확인할 수 있습니다. 을 yor 경우이 exmaple h:commandLink에서

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

또한 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 매개 변수 만한다면 당신은 템플릿의 링크를 렌더링

관련 문제