如何创建具有相同属性的多个下拉菜单

问题描述 投票:0回答:1

我正在使用 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
代码,但结果相同,似乎是在之后进行评估。

我愿意接受更好的实施建议。如果我需要进一步澄清,请告诉我。

jsp html-select struts struts-1
1个回答
0
投票

看起来您正在使用地图的

entrySet()
作为选项集合。

但是您需要通过

key
Map
获取选项列表。

使用地图

keySet()
的迭代器并将选项集合定义为值。

© www.soinside.com 2019 - 2024. All rights reserved.