2014-12-12 7 views
0

<rich:tabPanel>에 4 개의 탭이 포함 된 JSF 페이지가 있습니다.a4j : commandButton이 요소를 렌더링하지 않습니다

네 번째 탭에서 <a4j:commandButton>을 사용하여 작업을 실행하고 resulTable을 렌더링하려고합니다. 나는 다시 다른 탭으로 전환하고있어 경우에 아무런 변화가 없지만, - -

는 여기가 <a4j:commandButton> 클릭있을 때, 그래서 Lite 버전 예를

<rich:tab header="Journal"> 

    <h:form id="filterForm"> 
     <a4j:jsFunction name="submitByEnter" 
         action="#{smsLogList.refresh}" render="smsTable" /> 
     <s:div id="divSearch"> 
      <rich:collapsiblePanel header="#{messages['search']}" 
            switchType="client"> 
       <h:panelGrid column="1"> 
        <s:decorate template="/layout/edit.xhtml"> 
         <ui:define name="label">Package number</ui:define> 
         <h:inputText id="packNum" style="width:200px" 
            value="#{smsLogList.packNum}"> 
          <a4j:ajax event="keyup" listener="#{smsLogList.refresh}" 
             ignoreDupResponses="true" requestDelay="1500" 
             render="smsTable" /> 
         </h:inputText> 
        </s:decorate> 

        <!---some other search elements--> 

        <s:div styleClass="actionButtons"> 
         <a4j:commandButton id="search" value="#{messages['search']}" 
              render="smsTable" action="#{smsLogList.go}" /> 
         <a4j:commandButton id="reset" value="#{messages['clear']}" 
              onclick="document.getElementById('filterForm').reset();" 
              action="#{smsLogList.clear}" render="divSearch,smsTable" /> 
        </s:div> 
       </h:panelGrid> 
      </rich:collapsiblePanel> 
     </s:div> 

     <!--- results table--> 

     <h:panelGrid id="smsTable"> 
      <s:div> 
       <rich:dataTable value="#{smsLogList.resultList}" var="sms" 
           id="table" rendered="#{not empty smsLogList.resultList}"> 
        <rich:column> 
         <f:facet name="header">Type</f:facet> 
         <h:outputText value="#{sms.smsType}" /> 
        </rich:column> 

        <!---- some other columns--> 

       </rich:dataTable> 
       <rich:dataScroller for="table" /> 
      </s:div> 
     </h:panelGrid> 
    </h:form> 
</rich:tab> 

는 결과가 필요하다. a4j를 <h:commandButton>으로 변경하려고 시도했지만 페이지를 누르면 첫 번째 탭으로 전환됩니다.

어떻게 해결할 수 있습니까?

답변

0

해결책은 간단합니다. <h:form> 안에 <h:form>을 사용했습니다. 어쨌든 작동하지 않습니다. 내부를 제거하면 jsf가 원활하게 작동합니다.

관련 문제