如何以编程方式获取jsf或PrimeFaces数据表的所有行
我使用的是一个datatable,每一行都有一个selectonemenu作为列 我的页面上有一个按钮。单击该按钮时,我想检查datatable的每一行,找到selectone菜单的选定项,并根据该选定值制作一些数据库内容 有没有一种不使用编程方法或任何代码解决方案的更简单的方法 这是我的密码: 在这里,我只是试图找到一个输出文本,但它没有工作如何以编程方式获取jsf或PrimeFaces数据表的所有行,jsf,primefaces,uicomponents,Jsf,Primefaces,Uicomponents,我使用的是一个datatable,每一行都有一个selectonemenu作为列 我的页面上有一个按钮。单击该按钮时,我想检查datatable的每一行,找到selectone菜单的选定项,并根据该选定值制作一些数据库内容 有没有一种不使用编程方法或任何代码解决方案的更简单的方法 这是我的密码: 在这里,我只是试图找到一个输出文本,但它没有工作 private DataTable myTable//primefaces datatable; for ( UIComponent row :
private DataTable myTable//primefaces datatable;
for ( UIComponent row : myTable.getChildren()) {
HtmlOutputText a= (HtmlOutputText) row.findComponent("bname");
System.out.println("click"+a.getValue());
}
只需将selectionmen的选定值绑定到地图
<p:dataTable .... rowIndexVar="index">
... somwhere in column
<p:selectOneMenu value="#{backingBean.values[index]}" >
...
... 列中的位置
...
将datatable的value属性绑定到POJO列表。表列对应于POJO成员
public class MyPOJO{
public String column1;
public String column2;
public String column3;
public String column4;
//setters and getters here ....
}
@ManagedBean(name="beanDetails")
@ViewScoped
public class MyBean {
public List<MyPOJO> list_POJO;
private HashMap<String,String> fieldValues;
//setters and getters here ....
}
<p:dataTable id="myTable" value="#{beanDetails.list_POJO}" var="dataItem">
<p:column>
<f:facet name="header">
<h:outputLabel value="Column 1" />
</f:facet>
<p:cellEditor>
<f:facet name="output">
<h:outputLabel value="#{dataItem.column1}" />
</f:facet>
<f:facet name="input">
<p:selectOneMenu id="relevance" value="#{dataItem.column1}">
<f:selectItems value="#{beanDetails.fieldValues}"/>
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
....
....
</p:dataTable>
<p:commandButton value="Submit" actionListener="#{beanDetails.submitDetails}"/>
公共类MyPOJO{
公共字符串第1列;
公共字符串列2;
公共字符串列3;
公共字符串列4;
//这里的二传手和接球手。。。。
}
@ManagedBean(name=“beanDetails”)
@视域
公共类MyBean{
公开名单;
私有HashMap字段值;
//这里的二传手和接球手。。。。
}
....
....
在提交的细节中,您可以使用list_POJO遍历数据表记录