好的,也许有人可以帮我解决一个问题。本质上,我有一个 JSP 页面,从 Spring Portlet SimpleFormController 的 referenceData() 方法获取了一个 Country 对象列表(不完全相关但提一下以防需要)。每个 Country 对象都有一组省份对象,每个省份和国家都有一个名称字段:
public class Country {
private String name;
private Set<Province> provinces;
//Getters and setters
}
public class Province {
private String name;
//Getters and setters
}
我现在有两个下拉菜单,一个用于选择国家,一个用于选择省份,我想通过国家来过滤省份。我一直在按照这个教程/指南 使用JavaScript制作链式选择。
现在我需要一种动态的方式从我的内容中创建JavaScript数组。在有人提到AJAX之前,我必须指出这是不可能的,因为我们的项目使用portlet,并且希望避免使用像DWR这样的框架或创建servlet。这是我目前拥有的JavaScript/JSP代码,但它没有将任何内容填入数组中:
var countries = new Array();
<c:forEach items="${countryList}" var="country" varStatus="status">
countries[status.index] = new Array();
countries[status.index]['country'] = ${country.name};
countries[status.index]['provinces'] =
[
<c:forEach items="${country.provinces}" var="province" varStatus="provinceStatus">
'${province.name}'
<c:if test="${!provinceStatus.last}">
,
</c:if>
</c:forEach>
];
</c:forEach>
有人知道如何在JSP中创建JavaScript数组吗?或者在这种情况下被认为是“最佳实践”是什么?先感谢了!
'
这样的特殊字符,则第二个片段将失败。 - Roland Illig