如何使用jsp将java数组转换为javaScript数组?
我的服务器上有一个字符串列表,试图以数组的形式到达客户端。我尝试使用的代码如下:
在jsp中,我有一List<String>
列
我正在尝试以下代码:
<%int j = 0; %>for(var i = 0; i < <%=columns.size()%>; i++)
{
colArray[i] = "<%=columns.get(j++)%>";
}
此代码仅返回colArray中每个元素的列列表中的第一个元素。
我也尝试过:
colArray = <%=columns.toArray()%>;
这也不起作用。我觉得我在某个地方犯了一个小错误,只是没有看到它。我所尝试做的事情是否有可能做到?
谢谢。
回答:
您将服务器上执行的JSP代码与客户端上执行的JavaScript代码混合在一起。该代码段<%=columns.get(j++)%>
在服务器上执行一次,此时的JavaScript循环无关紧要。当到达客户端时,循环的主体只是说出colArray[i]
= "first entry";哪个当然会将相同的字符串放入数组的每个元素中。
相反,您需要在服务器上执行循环,如下所示:
<% for (int i=0; i<columns.size(); i++) { %>colArray[<%= i %>] = "<%= columns.get(i) %>";
<% } %>
我的JSP技能很生疏,语法可能有所不同,但是希望您能理解。
正如评论中指出的那样,在转义那些可能导致它们解释为JavaScript代码(最引号)的字符串中时,您需要非常小心-
特别是如果它们包含用户生成的内容。否则,您将使应用程序容易受到跨站点脚本和跨站点请求伪造攻击的攻击。
以上是 如何使用jsp将java数组转换为javaScript数组? 的全部内容, 来源链接: utcz.com/qa/414337.html