将选定的行 ID 从一页转移到另一页
Transfer selected row ID from one page to another
第一页:
上下文菜单和传递参数:
<p:contextMenu for="tbl">
<p:menuitem value="History Alarm" icon="ui-icon-search" outcome="alarmMap">
<f:param name="siteId" value="#{dwnSite.test.id}" />
</p:menuitem>
</p:contextMenu>
数据表:
<p:dataTable id="tbl" value="#{bean.sites}" selection="#{bean.test}" selectionMode="single" rowKey="#{dwn.id}" >
<p:column >
<h:outputText value="#{dwn.id}"/>
</p:column>
第二页:
<f:metadata>
<f:viewParam name="id" value="#{bean.searchFeatureVal}" />
</f:metadata>
如何将数据表的行ID从一个页面转移到另一个页面?当我尝试在同一页面的对话框中显示它时,它起作用了。
改为执行 POST 并在保存您的选择的 bean 中处理 url。应该像这样工作:
<p:menuitem value="History Alarm" icon="ui-icon-search" action="#{bean.performRedirect}" />
以及bean中要调用的方法:
public void performRedirect(){
//Go to the detail view with the selected id as url parameter
FacesContext.getCurrentInstance().getExternalContext()
.redirect("detail.xhtml?id=" + test.getId());
}
第一页:
上下文菜单和传递参数:
<p:contextMenu for="tbl">
<p:menuitem value="History Alarm" icon="ui-icon-search" outcome="alarmMap">
<f:param name="siteId" value="#{dwnSite.test.id}" />
</p:menuitem>
</p:contextMenu>
数据表:
<p:dataTable id="tbl" value="#{bean.sites}" selection="#{bean.test}" selectionMode="single" rowKey="#{dwn.id}" >
<p:column >
<h:outputText value="#{dwn.id}"/>
</p:column>
第二页:
<f:metadata>
<f:viewParam name="id" value="#{bean.searchFeatureVal}" />
</f:metadata>
如何将数据表的行ID从一个页面转移到另一个页面?当我尝试在同一页面的对话框中显示它时,它起作用了。
改为执行 POST 并在保存您的选择的 bean 中处理 url。应该像这样工作:
<p:menuitem value="History Alarm" icon="ui-icon-search" action="#{bean.performRedirect}" />
以及bean中要调用的方法:
public void performRedirect(){
//Go to the detail view with the selected id as url parameter
FacesContext.getCurrentInstance().getExternalContext()
.redirect("detail.xhtml?id=" + test.getId());
}