首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript + JSP

问Javascript + JSP
EN

Stack Overflow用户
提问于 2013-06-14 22:35:14
回答 2查看 247关注 0票数 0

我有一个控制器和一个JSP文件。

在我的控制器中,我有:

代码语言:javascript
复制
request.setAttribute("AListOfClient", AListOfClient );// AListOfObject is a List

在我的jsp文件中:

代码语言:javascript
复制
<input type="hidden" id="AListOfClient" name="AListOfClient" value="${AListOfClient}" />

..。

代码语言:javascript
复制
<script type="text/javascript">
var item = ${(AListeOfClient[0]).name}; // no problem with this
</script>

但我想做一个for:

代码语言:javascript
复制
for (i=0; i < ${length}; i++) {
var item = ${(AListeOfClient[i]).name}; // ERROR
var item = ${(AListeOfClient[0]).name}; // No Problem
});

有人能帮我吗??

对于解决方案:

代码语言:javascript
复制
var jsAListOfClient= [
<c:forEach items="${AListOfClient}" var="client">
"${client.name}",
</c:forEach>
                    ];

Eclipse说:“令牌""${client.name}"”出现语法错误,请删除此令牌“

如果我将"${client.name}“替换为”",Eclipse也会说同样的话...

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-14 22:41:26

在javascript中,只需使用jstl创建js array和poplutae即可。

代码语言:javascript
复制
var jsAListOfClient= [
        <c:forEach items="${AListOfClient}" var="client">
        "${client.name}",
        </c:forEach>
    ];

然后你可以按你想要的方式引用你的jsList。但我同意其他人的观点,只要重构并使用jstl即可。

票数 1
EN

Stack Overflow用户

发布于 2013-06-14 22:38:47

您不能将列表作为隐藏变量存储在jsp文件中。最好使用JSTL迭代该列表并创建隐藏变量。

为什么要将列表存储在jsp页面上?

无论如何,下面是另一种方法:

使用JSTL迭代列表,创建隐藏变量,并为它们赋予适当的ids。在javascript中,遍历这些隐藏变量,您将获得所需的值。Javascript是客户端,而请求对象中附加的列表是服务器端,因此无法访问。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17110960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档