2012-02-23 1 views
1

<af:commandLink><h:panelGrid>이 있습니다. 링크가 그리드 외부에 있습니다. 페이지로드시에는 rendered="false"을 그리드에 유지합니다. 그리드 내부에 또 다른 링크가 있습니다. 그리드가 렌더링되지 않으므로이 링크가 렌더링되지 않습니다. 그리드 바깥 쪽의 링크를 클릭하면 rendered="true"을 설정하므로 그리드 내부의 링크도 렌더링됩니다.조건부로 렌더링 된 명령 링크가 동작을 호출하지 않습니다.

이제 그리드 내부의 링크를 클릭하면 작업이 호출되지 않습니다. 어떻게 이런 일이 생기고 어떻게 해결할 수 있습니까?

<af:commandLink action="#{masterFileConfig.getMasterFileTypeConfig}" onclick="return requiredCheck();" 
       binding="#{masterFileConfig.commandLink1}" 
       id="commandLink1"> 
    <af:objectImage source="/images/search.gif" 
        binding="#{masterFileConfig.objectImage1}" 
        id="objectImage1"/> 
</af:commandLink> 
<h:panelGrid columns="2" binding="#{masterFileConfig.panelGrid2}" rendered="#{masterFileConfig.showGrid}" 
      id="panelGrid2" width="100%" styleClass="greyTable"> 
    <h:panelGrid columns="1" border="0" 
       id="panelGrid3" width="100%" style="text-align:right;"> 
     <af:commandLink action="#{masterFileConfig.saveMasterFileTypeConfig}" 
         onclick="return handleBusinessRules();" 
         id="commandLink2"> 
      <af:objectImage source="/images/save.gif" id="objectImage2"/> 
     </af:commandLink> 
    </h:panelGrid> 
</h:panelGrid> 
+1

가능한 [조건부로 렌더링 된 UICommand 구성 요소의 동작 방법 호출 방법] (http://stackoverflow.com/questions/3045129/how-to-call-an-action-method-of- a-uicommand-component-which-rendered-conditi) – BalusC

+0

감사합니다. Balus. 여러분의 의견을 자세히 설명해 주시겠습니까? 3. 대신 를 사용하는 경우 을 사용하여 속성을 전송할 수 있습니다. 요청 매개 변수로 사용할 수 있으며 bean (post) 생성자에서 확인할 수 있습니다. 아마도 코드 샘플이 도움이 될 것입니다. – user265950

+0

감사합니다 발루스 .. 나는 사용자 중 한 명에게 다음과 같은 것들을 사용했고 작동했습니다 -> 제 경우에는 자바 스크립트가 구조를 위해 왔습니다. 즉, 조건부로 표시 될 내용이 무엇이든 HTML 부분에 넣었습니다. 원하는 이벤트가 발생할 때까지 display : none을 표시하십시오. HTML 부분은 사용자가 원하는 모든 JSF 태그 (CommandButtons 포함)를 가질 수 있으며 (동작 메소드 및 항목 호출) 완벽하게 사용할 수 있습니다. – user265950

답변

0

링크의 clientComponent 속성을 true로 설정할 수 있습니까? 어쩌면 상호 작용할 onClick 이벤트에 대해 생성 된 클라이언트 구성 요소가 없을 수도 있습니다.

또한 두 구성 요소 대신 af : commandImageLink를 사용해 보셨습니까?

관련 문제