我有以下表格:
<h:form>
<a4j:repeat var="drillDownSet" value="#{drilldownRequest.itemDetailMap.entrySet().toArray()}">
<rich:select>
<f:selectItems value="#{drillDownSet.value}" var="val"
itemValue="#{drillDownSet.key}" itemLabel="#{val}" />
</rich:select>
</a4j:repeat>
<h:commandButton value="Summit" action="#{drilldownRequest.itemSpecSummit}" />
</h:form>
以下支持bean:
@Named
@RequestScoped
public class DrillDownRequest {
Map<String, ArrayList> itemDetailMap;
public void itemSpecSummit() {
// How can I retrieve all the selected values from the dropdown menus here?
}
}
如何在操作方法中检索<rich:select>
的所有选定值?
答案 0 :(得分:0)
首先,您的<f:selectItems itemValue>
已被破坏。所有选项都是相同。这不对。如果ArrayList
实际一个List<String>
,只需这样做:
<f:selectItems value="#{drillDownSet.value}" />
回到具体问题,并继续上述修复,您只需要使用<rich:select value>
作为地图密钥和{{1}将Map<String, String>
绑定到另一个#{drillDownSet.key}
}作为地图值。
<f:selectItems itemValue>
private Map<String, String> selectedItems = new HashMap<>(); // +getter (setter not necessary)