我正在尝试使用doubleselect
使用此 link 来自 Struts2 的标记作为指导。当我选择电话国家/地区代码(例如:91、92、216)时,它应该显示该国家/地区的三个城市。
为此我有一个Map<Integer, List<String>
。下面是标签。
<s:doubleselect
name="obj.countryCode" id="countryCode" list="countryCodeCityNameMap.keySet()"
doubleName="obj.cityName" doubleId="cityName" doubleList="countryCodeCityNameMap" />
这会产生不同的输出。在第一个下拉列表中,它正确显示国家/地区代码。但无论第一个下拉列表中选择的值如何,它总是显示第二个下拉列表中的所有值,如下所示:
[aaa,bbb,ccc]
[ddd,eee,fff]
[ggg,hhh,iii]
如何使用 map 获得所需的输出? 我应该根据给定的链接创建这样的结构:
List<Makes> // in first drop-down
Makes contains makeId, modelId and List<Models> // List<Models> in second drop-down
Models contains modelId and modelName
如果是,那么我的场景如何适应这个模型?
最佳答案
IF the top
object is still available ,您应该能够使用它对内部列表进行子过滤,如下所示:
<s:doubleselect
name="obj.countryCode" id="countryCode" list="countryCodeCityNameMap.keySet()"
doubleName="obj.cityName" doubleId="cityName" doubleList="countryCodeCityNameMap.get(top)"
/>
关于java - 在 Struts2 中使用 Map 进行双重选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37862756/