我正在使用 Struts 1.3,我希望能够为不同的选项提供下拉菜单,如下所示:
以下示例具有以下格式:
Radio button: dropdown value 1
dropdown value 2
English: good morning
hello
French: bonjour
salut
Spanish: buenos dias
hola
我有一张如下所示的地图:
[[English, {good morning, hello}][French, {bonjoue, salut}][Spanish, {buenos dias, hola}]]
所以,我的 JSP 看起来像这样(半伪代码):
For each item in the map:
set optionList = item.values;
If item.key == English {
Radio button English:
}
If item.key == French {
Radio button French:
}
If item.key == Spanish
Radio button Spanish:
}
<html:select property="salutation">
<html:optionsCollection name="optionList" label="key" value="value"/>
</html:select>
End for each
问题是我最后得到的是这个:
English: good morning
hello
bonjour
salut
buenos dias
hola
French: good morning
hello
bonjour
salut
buenos dias
hola
Spanish: good morning
hello
bonjour
salut
buenos dias
hola
我本来以为
optionList
会在每次迭代中打印出正确的值,但事实似乎并非如此。我还尝试在每个 <html:select>
语句中复制 if
代码,但结果相同,似乎是在之后进行评估。
我愿意接受更好的实施建议。如果我需要进一步澄清,请告诉我。
看起来您正在使用地图的
entrySet()
作为选项集合。
但是您需要通过
key
从 Map
获取选项列表。
使用地图
keySet()
的迭代器并将选项集合定义为值。