JSP支持如何使用相同的属性创建多个下拉列表

时间:2015-02-26 16:38:37

标签: jsp struts html-select

我正在使用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

问题在于我最终得到了tis:

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,但似乎并非如此。我也尝试在每个IF语句中复制html:select代码,但结果相同,似乎在评估之后。

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

谢谢,

1 个答案:

答案 0 :(得分:0)

看起来您正在使用地图的entrySet()作为选项集合。但是您需要通过地图中的键获取选项列表。使用映射的keySet()的迭代器,并将选项集合定义为值。