我有一个哈希图作为变量像烤豆。
private Map<String, Map<String, String>> states;
在JSP页面上,我有两个组合菜单,第一个用于国家,第二个用于州。
我需要根据第一个组合菜单上的所选国家/地区来填充第二个组合菜单,在上面的哈希图上有“映射”。有什么建议么。我正在使用Spring MVC和JSP。
我可以使用javascript访问上方地图
stateMap ='${resetForm.states}';
但这将是一个字符串。请帮忙
谢谢
最佳答案
您应该始终尽可能地将服务器端与客户端分开,否则最终将难以维护,难以理解且易于出错的代码。话虽如此,您可以将地图转换为JSON并将该JSON发送到客户端,因此可以根据需要进行处理:
<script>
var statesJSON = JSON.parse( <%= net.sf.json.JSONSerializer.toJSON(states) %> );
</script>
现在,您可以使用
statesJSON
全局变量来编写客户端代码(关于下拉列表的填充)。您可以点击以下链接,了解如何基于对另一个的选择来填充下拉列表:populate-one-dropdown-based-on-selection-in-another
populate-one-dropdown-list-based-on-the-selection-of-other-dropdown-list
populate-a-second-drop-down-menu-depends-upon-first-drop-down-selection