gpt4 book ai didi

java - 如何使用jsp将java数组传输到javaScript数组?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:10 26 4
gpt4 key购买 nike

我的服务器上有一个字符串列表,我试图以数组的形式到达客户端。我尝试使用的代码如下:

在 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 代码(最显眼的引号)的任何内容 - 特别是如果它们包含用户生成的内容。否则你会让你的应用程序对 Cross-site scripting 敞开大门和 Cross-site request forgery攻击。

关于java - 如何使用jsp将java数组传输到javaScript数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/516565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com