2016-09-23 46 views
3

我遇到了Struts2的问题。我有一个HashMap<String, Integer>,我用一个选择的形式来选择名称和相应的名称。如何在选择Struts2中选择HashMap的值?

HashMap迭代并使用名称填充我的<select>列表。我只需要一个ID来挑选。我如何选择一个ID /值而不是名称/键?

companyMap is a HashMap,where <String, Integer> or key,value。

companyName是一个字符串。

<s:select label="Pick the company name" 
    headerKey="-1" headerValue="Select Company name" 
    list="companyMap.keys" 
    name = "companyName" 
/> 

回答

3

如果列表是一个Map(key,value),那么Map键将成为选项'value'参数,Map值将成为选项主体。

但你需要更改这个规则

<s:select label="Pick the company name" 
    headerKey="-1" headerValue="Select Company name" 
    list="%{companyMap.entrySet()}" 
    name = "companyId" 
    listKey="value" 
    listValue="key" 
/> 
+0

谢谢!交换“价值”和“钥匙”确实奏效。 – RomZes13