您将服务器上执行的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代码(最引号)的字符串中时,您需要非常小心-
特别是如果它们包含用户生成的内容。否则,您将使应用程序容易受到跨站点脚本和跨站点请求伪造攻击的攻击。



