我有一个控制器和一个JSP文件。
在我的控制器中,我有:
request.setAttribute("AListOfClient", AListOfClient );// AListOfObject is a List在我的jsp文件中:
<input type="hidden" id="AListOfClient" name="AListOfClient" value="${AListOfClient}" />..。
<script type="text/javascript">
var item = ${(AListeOfClient[0]).name}; // no problem with this
</script>但我想做一个for:
for (i=0; i < ${length}; i++) {
var item = ${(AListeOfClient[i]).name}; // ERROR
var item = ${(AListeOfClient[0]).name}; // No Problem
});有人能帮我吗??
对于解决方案:
var jsAListOfClient= [
<c:forEach items="${AListOfClient}" var="client">
"${client.name}",
</c:forEach>
];Eclipse说:“令牌""${client.name}"”出现语法错误,请删除此令牌“
如果我将"${client.name}“替换为”",Eclipse也会说同样的话...
发布于 2013-06-14 22:41:26
在javascript中,只需使用jstl创建js array和poplutae即可。
var jsAListOfClient= [
<c:forEach items="${AListOfClient}" var="client">
"${client.name}",
</c:forEach>
];然后你可以按你想要的方式引用你的jsList。但我同意其他人的观点,只要重构并使用jstl即可。
发布于 2013-06-14 22:38:47
您不能将列表作为隐藏变量存储在jsp文件中。最好使用JSTL迭代该列表并创建隐藏变量。
为什么要将列表存储在jsp页面上?
无论如何,下面是另一种方法:
使用JSTL迭代列表,创建隐藏变量,并为它们赋予适当的ids。在javascript中,遍历这些隐藏变量,您将获得所需的值。Javascript是客户端,而请求对象中附加的列表是服务器端,因此无法访问。
https://stackoverflow.com/questions/17110960
复制相似问题