【问题标题】:Icefaces Actionlistener Pass Parameter To Another PageIcefaces Actionlistener 将参数传递到另一个页面
【发布时间】:2011-06-21 19:23:58
【问题描述】:

我有 icefaces 数据表,当用户单击一行时,我想将该行的值传递给另一个页面。该值可以是行的一列,它是主键。我打算使用

我该怎么做?

谢谢

*跟进**

请建议我遵循的方法是从我的 icefaces 传递参数的权利 数据表到另一个页面。

我在 jsf 页面中有以下内容

<h:commandLink actionListener="#{bean.setSelectedItem}">

在我的 setSelectedItem(ActionEvent event) 方法的 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();

如果我在上面做错了什么,请纠正我。

谢谢

【问题讨论】:

    标签: jsf parameter-passing icefaces


    【解决方案1】:

    将表格组件与支持 bean 中的UIData 属性绑定

    <h:dataTable binding="#{bean.table}">
    

    private UIData table;
    

    或将表值与支持 bean 中的 DataModel 属性绑定

    <h:dataTable value="#{bean.model}">
    

    private DataModel model;
    

    无论哪种方式,他们都提供了一个 getRowData() 方法,该方法在单击/按下 UICommand 组件的 bean 操作方法期间为您返回行。

    <h:commandLink action="#{bean.view}">
    

    public String view() {
        Object rowData = table.getRowData(); // Or model.getRowData();
        return "otherpage";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      相关资源
      最近更新 更多