0

我有一个包含大约 90 个项目的表格。有没有办法在服务器端没有那么多设置器的情况下收集生成的值?我不能解析使用 JavaScript 生成的列表/数组/对象吗?这对我有很大帮助。

非常感谢,马丁

4

1 回答 1

0

创建一个Map属性。

@ManagedBean
@ViewScoped
public class Bean {

    private Map<String, String> selectedItems = new HashMap<String, String>();

    public Map<String, String> getSelectedItems() {
        return selectedItems;
    }

    // ...
}

哪个可以用作

<h:selectOneMenu value="#{bean.selectedItems.one}">
    ...
</h:selectOneMenu>

或者

<h:selectOneMenu value="#{bean.selectedItems['one']}">
    ...
</h:selectOneMenu>

这里one成为地图键,所选项目成为地图值。

(是的,不需要设置器!)


更新一个替代方法是在列中有<h:dataTable>一个<h:selectOneMenu>。这样你就可以只使用一个List<Item>getter(不需要一个 setter)。另请参阅此问题的答案以获取示例。

于 2011-04-13T11:55:50.863 回答