如何在 Action class 中使用 Map 对象在 JSP 中创建动态下拉菜单?

How can I make a dynamic dropdowns in a JSP using a Map object in an Action class?

Action class 我有 Map<String, List<String>> countryMap.

假设 countryMapkey 是字母表中的字母,值是以相应键开头的国家/地区对象。

例如:

键: A

值:列表包含Australia, Angola, Algeria

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

下拉列表 1 类似于:

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

下拉菜单 2 将根据下拉菜单 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 标签。

It renders two HTML select elements with second one changing displayed values depending on selected entry of first one.

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

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