从当前行数据表中获取 id 以链接 JSF Primefaces Java [重复]
Posted
技术标签:
【中文标题】从当前行数据表中获取 id 以链接 JSF Primefaces Java [重复]【英文标题】:Get id from current row dataTable to link JSF Primefaces Java [duplicate] 【发布时间】:2013-11-21 14:28:00 【问题描述】:如何将当前行 p:dataTable primefaces 的 Id 获取到我的链接中使用此 Id 的位置?描述一下(对不起我的英语)。我的数据表看起来像这张照片:http://www.image-share.com/igif-2333-105.html 当我单击按钮时,我想获取该按钮所在行的 ID,例如,第 1 行的 ID 为 1,因此当单击按钮 1 时,我必须获取 ID = 1。显示我的链接在哪里需要 ID: http://'serverAddress'/myApplication/PDF?type=document&id="+id" 变量 id 具有 int 类型和 getter,实体和 bean 中的 setter。 JSF 中的按钮如下所示: h:commandButton value="Print" action="#printBean.print()"/> 方法“打印”启动我的链接。任何想法如何做到这一点?感谢您的帮助。
【问题讨论】:
我认为他正在寻找的是:***.com/questions/14633008/… 在普通 JSF 的情况下。 【参考方案1】:您可以使用p:dataTable
的rowIndexVar
属性。
引用每个行索引的迭代器的名称
在EL中可以使用谁的迭代器名称来获取Row Id
例如:
如果rowIndexVar="myId"
,那么您可以使用#myID
在EL 中使用该迭代器名称访问每一行索引。
例子:
<p:dataTable rowIndexVar="rowId" value="..." var="...">
<p:column>
<h:commandLink action="#...">
<f:param name="id" value="#rowId" />
</h:commandLink>
</p:column>
</p:dataTable>
【讨论】:
我将如何在我的 bean 函数中使用选定的 rowId?我的意思是,当我单击第一行中的按钮时,我需要一个值为 1 的变量(或任何其他可以让我知道表中所选行的技术)【参考方案2】:在bean中获取id
map<String,String> par_map = new HashMap<String,String>(); par_map=FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String id=par_map.get("id");
【讨论】:
以上是关于从当前行数据表中获取 id 以链接 JSF Primefaces Java [重复]的主要内容,如果未能解决你的问题,请参考以下文章
当通过链接或后退按钮打开时,强制 JSF 刷新页面/视图/表单