2014-02-11 140 views
0

如何將我的dataTable中的值傳遞給另一個jsf頁面?我設法通過使用f:param傳遞值,但我不知道如何獲取dataTable中的數據並傳遞值。使用託管bean將行的dataTable值傳遞給新的JSF?

<p:outputPanel id="panelSysMenuList"> 
    <p:dataTable id="dtSysMenu" paginator="true" paginatorPosition="bottom" paginatorAlwaysVisible="true" 
       var="menu" styleClass="panel-list" filteredValue="#{menuController.filteredList}" 
       value="#{menuController.resultList}" emptyMessage="#{msg.noRecordsFound}" 
       rows="#{menuController.datatableMaxResult}" selection="#{menuController.selectMenu}" 
       widgetVar="widVarTable" rowKey="#{menu}" selectionMode="single"> 
     <p:column sortBy="#{menu.admenuPK.parentNode}" > 
      #{menu.admenuPK.parentNode} 
     </p:column> 
     <p:column sortBy="#{menu.admenuPK.node}" > 
      #{menu.admenuPK.node} 
     </p:column> 
     <p:column sortBy="#{menu.nodeDesc}" > 
      #{menu.nodeDesc} 
     </p:column> 
     <p:column sortBy="#{menu.className}" > 
      #{menu.className} 
     </p:column> 
     <p:column sortBy="#{menu.nodeRemark}" > 
      #{menu.nodeRemark} 
     </p:column> 
    </p:dataTable> 
</p:outputPanel> 

<p:button id="btnAdd2" value="#{msg.sysMenuAdd}" icon="ui-icon-plus" styleClass="action-buttons" outcome="MenuMaint"> 
    <f:param name="parentNode" value="#{menuController.parentNode}" /> 
    <f:param name="node" value="#{menuController.selectMenu}" /> 
</p:button> 

我MenuMaint

<f:metadata> 
    <f:viewParam name="parentNode" value="#{menuMaintController.parentNode}" /> 
    <f:viewParam name="node" value="#{menuMaintController.node}" /> 
</f:metadata> 

或者是,反正我能做什麼? 順便說一句,我正在使用ViewScoped 在此先感謝!

+0

您的意思是您想要選擇一行並將其發送到支持bean或將該值完全發送到另一個頁面? – kolossus

回答

0

我已經在我的網址

MenuMaint?parentNode=parentNode&node=selected 

在MenuMaint的託管bean末尾增加帕拉姆解決我的問題,我會得到使用

FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("parentNode") 

這使我帕拉姆以另一種方式獲得價值f:param

相關問題