如何使用 Action 类中的 Map 对象在 JSP 中创建动态下拉列表



在一个Action类中,我有Map<String, List<String>> countryMap.

假设countryMapkey是字母表中的字母,值是以相应键开头的 Country 对象。

例如:

键:A

值:列表包含Australia, Angola, Algeria等。

我想在JSP中做两个动态下拉菜单。

下拉列表 1 如下所示:

 <select>
     <option value="A">A</option>
     <option value="B">B</option>
 </select>

在下拉列表中,两个将显示值,具体取决于下拉列表 1 上的键。例如,我在下拉列表 1 中选择 A,下拉列表将填充值。

下拉列表 2 如下所示:

<select>
    <option value="Australia">Australia</option>
    <option value="Angola">Angola</option>
</select>

我正在考虑使用 Struts 2 的标签<s:select>或最大化 JSTL。我不知道如何开始。我不熟悉这些功能。有了这些复杂的代码,我可能需要JavaScript的参与。我很难开始开发代码。

如果没有javascript,制作两个标签在同一页面上相互通信是不可能的。幸运的是,在这种情况下可以使用 Struts2 doubleselect 标签。

它呈现两个 HTML 选择元素,第二个元素根据第一个元素的选定条目更改显示的值。

<s:doubleselect label="Select country/state" name="country" list="{'country1','other'}" doubleName="state" doubleList="top == 'country1' ? {'state1', 'state2'} : {'state3', 'state4'}" />

有关实际示例,请参阅 Struts 2 <s:doubleselect>示例。

最新更新