2012-06-14 2 views
0

DOM에서 구성 요소를 영구적으로 사용 가능하게하는 가장 좋은 방법은 무엇입니까? 저는 현재 다음과 같습니다DOM에서 JSF 구성 요소 참조하기

<h:form id="navigationForm"> 
      <pou:menu id="navigationMenu"> 
        <pou:submenu label="#{web['NavigationMenuLabel']}"> 

         <pou:menuitem value="#{web['NavigationMenuDashboard']}" 
             action="#{accountData.viewAccountDashboard()}" 
             update=":accountForm:accounts"/> 

         <pou:menuitem value="#{web['NavigationMenuRoleOneAccounts']}" 
             action="#{accountData.viewRoleOneAccounts()}" 
             update=":accountForm:accounts"/> 

        </pou:submenu> 
      </pou:menu> 
</h:form> 

<h:form id="accountForm" rendered="#{accountData.renderTables()}"> 

       #{accountData.populateDataTable()} 

       <pou:dataTable id="accounts" 
           var="account" 
           paginator="true" 
           rows="10" 
           emptyMessage="#{web['NoAccountsData']}" 
           selection="#{accountData.selectedAccounts}" 
           rowKey="#{account.uuid}" 
           value="#{accountData.accountDataModel}"> 
... 

문제는 ...하지 놀랍게도 accountForm이 항상 존재 (즉, 포인트입니다) 그래서 업데이트하지 않습니다 아니라고.

답변

1

왜 이런 생각을하지 않았는지 알 수 없습니다. 영구적으로 존재하는 UI 구성 요소를 랩하기 만하면됩니다. 내가 <h:panelGroup>을 사용했지만 당신이 상황에 맞는 것을 사용할 수 있다고 생각합니다. 따라서 제 상황에서 :

<h:form id="navigationForm"> 
     <pou:menu id="navigationMenu"> 
       <pou:submenu label="#{web['NavigationMenuLabel']}"> 

        <pou:menuitem value="#{web['NavigationMenuDashboard']}" 
            action="#{accountData.viewAccountDashboard()}" 
            update=":example"/> 

        <pou:menuitem value="#{web['NavigationMenuRoleOneAccounts']}" 
            action="#{accountData.viewRoleOneAccounts()}" 
            update=":example"/> 

       </pou:submenu> 
     </pou:menu> 
</h:form> 

<h:panelGroup id="example" layout="block"> 
    <h:form rendered="#{accountData.renderTables()}"> 

      #{accountData.populateDataTable()} 

      <pou:dataTable id="accounts" 
          var="account" 
          paginator="true" 
          rows="10" 
          emptyMessage="#{web['NoAccountsData']}" 
          selection="#{accountData.selectedAccounts}" 
          rowKey="#{account.uuid}" 
          value="#{accountData.accountDataModel}"> 
    ... 
</h:panelGroup> 
+0

실제로이 문제에 대한 "확립 된"해결책입니다. –

+0

@Matt 감사합니다. 잘 알고 있습니다. – tarka

관련 문제