我有icefaces数据表,当用户点击一行时,我想将该行的值传递给另一个页面。该值可以排成一列,即主键。我打算用
我该怎么做?
由于
* 跟进 **
请建议我遵循的方法是从我的冰面传递参数的权利 数据到另一页。
我在jsf页面中有以下内容
<h:commandLink actionListener="#{bean.setSelectedItem}">
在我的setSelectedItem(ActionEvent事件)方法的bean中,我有以下代码
selectedRows.put(dataTable.getRowIndex(), true);
(selectedRows is of Map<Integer, Boolean> selectedRows = new HashMap<Integer, Boolean>();
List<class> selectItems = new ArrayList<class>();
for (int index = 0; index < dataList.size(); index++) {
if (isSelectedRow(index)) {
selectItems.add(dataList.get(index));
}
}
newbean.method(selectItems);
selectItems.clear();
selectedRows.clear();
如果我在上面做错了,请纠正我。
由于
答案 0 :(得分:3)
将表组件与支持bean中的UIData
属性绑定
<h:dataTable binding="#{bean.table}">
与
private UIData table;
或将表值与支持bean中的DataModel
属性绑定
<h:dataTable value="#{bean.model}">
带
private DataModel model;
无论哪种方式,它们都提供了一个getRowData()
方法,该方法在bean动作方法中为您提供行回溯,其中UICommand
组件被单击/按下。
<h:commandLink action="#{bean.view}">
与
public String view() {
Object rowData = table.getRowData(); // Or model.getRowData();
return "otherpage";
}