2014-11-17 2 views
0

일부 구성 요소 (예 : 트리)가있는 modalPanel이 있습니다. fisrt 내 행동 및 actionListners correclty 작동합니다. 잠시 후 (5 분에서 10 분까지) 작업이 완전히 중단됩니다. 포스트가 실행되지만 AjaxViewRoot 액션은 비어 있습니다. 유효성 검사 오류가 없습니다. 변환 오류를 방지하기 위해 모든 페이지 구성 요소 ID가 고정되어 있습니다 (생성되지 않음). 빈은 Conversation Scoped이며 제한 시간은 30 분 이상입니다. 여기잠시 후 JSF actionListner가 호출되지 않습니다.

<rich:modalPanel id="modalId" resizeable="false" autosized="true"> 
     <a4j:include id="myPage" viewId="#{bean.viewId}"/> 
    </rich:modalPanel> 

내 페이지 (포함 페이지) 코드 :

<ui:composition> 
<h:form id="frmPage"> 
    <h:panelGrid columns="1"> 
    <a4j:region id="treeRegion"> 
    <rich:panel id="tbPanelTrees"> 

     <h:panelGrid columns="2" > 
     <h:panelGroup layout="block" style="height:#{(height-150)/2}px; width:#{(width-20)/2}px; overflow:visible; overflow-y:auto; overflow-x:auto;"> 
      <rich:tree id="subjectTree" 
         style=" height: 100%" 
         switchType="ajax" 
         var="item" 
         nodeFace="#{item.nodeType}" 
         value="#{bean.subjTree.rootSubjectsTree}" 
         adviseNodeOpened="#{bean.subjTree.adviseNodeOpened}"                 
         changeExpandListener="#{bean.subjTree.changeExpandListener}" 
         nodeSelectListener="#{bean.subjTree.nodeSelectListener}" 
         ajaxSubmitSelection="true" 
         reRender="elements outside region" 
         ajaxSingle="true" 
         ignoreDupResponses="true"> 
       <rich:treeNode type="root" icon="#{item.subjectsIcon}" iconLeaf="#{item.subjectsIcon}" id="subjectRootNode"> 
        <a4j:commandLink value="#{item.nodeName}" id="subjectRootNodeLink"/>      
       </rich:treeNode> 
       <rich:treeNode type="user" icon="#{item.userIcon}" iconLeaf="#item.userIcon}" id="userNode"> 
         <a4j:commandLink value="#{item.nodeName}" id="userNodeLink"/>     
       </rich:treeNode> 

      </rich:tree>     
     </h:panelGroup> 
    </a4j:region> 
    </h:panel:Grid> 
</h:form>   
</ui:composition> 

아무도 생각을 가지고 있는가, 문제는 무엇인가?

+0

자바 스크립트 콘솔의 네트워크 탭에서 오류 메시지를 확인 했습니까? 어떤 RF 버전을 실행하고 있습니까? – kolossus

+0

@kolossus, 나는 js concole을 방화범을 가지고 조사했다. 오류 없음. 내 RF 버전은 3.3.1입니다. – Ermintar

답변

0

마지막으로 해결책을 찾았습니다. 일부 구성 요소에는 정의 된 ID가없고 생성 된 ID가 있습니다 (예 : myForm : j1456546). 페이지의 다른 부분은 유효성 검사를 위해 서버에 DOM 트리를 보내는 폴링 요청 (일부 뉴스 표시)을 보냅니다. 생성 된 ID는 서버 측에서 변경되었지만 클라이언트 측에서는 동일하게 유지됩니다 (폴링이 뉴스 패널과 별도로 항목을 다시 렌더링하지 않았기 때문에). 따라서 사용자가 버튼을 클릭하거나 다른 Ajax 액션을 실행하면 클라이언트와 서버 측의 버튼이 다르며 다른 액션이 호출되지 않습니다. 해결책 : 모든 사용자 ID를 수동으로 정의하십시오.