如何将dataTable中的值传递给另一个jsf页面?我设法通过使用f:param传递值,但我不知道如何获取dataTable中的数据并传递值。
<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 :(得分:0)
我已通过在网址末尾添加参数来解决我的问题
MenuMaint?parentNode=parentNode&node=selected
在MenuMaint的托管bean中,我将使用
获取参数FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("parentNode")
这使我能够以f:param