Java 如何从datatable中移交行对象
我有一个PrimeFaces数据表,有很多条目。单击一行时,我会在此处执行以下操作:Java 如何从datatable中移交行对象,java,jsf,primefaces,Java,Jsf,Primefaces,我有一个PrimeFaces数据表,有很多条目。单击一行时,我会在此处执行以下操作: <p:ajax event="rowSelect" listener="#{detailsBean.showData(data)}"> 所以我想做的是在我的bean中调用一个方法,并从单击的表行中移交数据,但是当我调试它时,对象总是空的。我不知道该怎么处理。怎么了 以下是如何从datatable中获取所选项目 xhtml: <p:datatable value="#{yourBean.l
<p:ajax event="rowSelect" listener="#{detailsBean.showData(data)}">
所以我想做的是在我的bean中调用一个方法,并从单击的表行中移交数据,但是当我调试它时,对象总是空的。我不知道该怎么处理。怎么了 以下是如何从datatable中获取所选项目 xhtml:
<p:datatable value="#{yourBean.listObject}" selection="single" ---- and other suff---->
<p:ajax event="rowSelect" listener=#"{yourBean.aMethodInBean}"/>
</p:datatable>
豆子:
YourObject YourObject;
列表对象;
-----
公开作废Amethonbian(选择事件){
yourObject=(yourObject)event.getObject();
}
Xhtml:
<p:dataTable value="#{bean.list}" selectionMode="single" selection="{bean.selectedEmployee}">
<p:ajax event="rowSelect" listener="#{bean.anyMethod()}"/>
</p:dataTable>
这里ajax不是强制性的
豆子:
List<Employee> list ;
Employee selectedEmployee;
public void anyMethod(){
}
列表;
员工选择员工;
公共方法(){
}
您是否尝试过在数据表上启用选择
,例如selection=“#{detailsBean.selectedRecord}”
然后将detailsBean.showData
更改为使用this.selectedRecord
而不是使用参数?(您的p:ajax
应该有process=“@this”
至少…)以及我应该将什么参数从前端传递到后端?那么哪个参数应该是SelectEvent呢?不,只需像那样使用没有参数的侦听器。请看这里的selectevents示例
List<Employee> list ;
Employee selectedEmployee;
public void anyMethod(){
}