JSF 2和JavaScript-提交很多<h:selectOneMenu />项而没有那么多的设置器

问题描述

|| 我有大约90个项目的表格。有没有一种方法可以收集生成的值,而无需在服务器端设置那么多的设置器?我不能解析使用JavaScript生成的列表/数组/对象吗?这对我有很大帮助。 非常感谢, 马丁     

解决方法

创建一个“ 0”属性。
@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>
吸气剂(不需要一个设置器)。有关示例,另请参见此问题的答案。