gpt4 book ai didi

javascript - 如何在javascript中访问jsp数组变量?

转载 作者:行者123 更新时间:2023-12-02 20:14:09 25 4
gpt4 key购买 nike

我想在Javascript中访问jsp数组。怎么可能?

JSp代码

<%!
String s[];
%>

<%
List l=(List)request.getAttribute("listResource");
System.out.println("The Elements In List::"+l);

if(l!=null)
{
System.out.println("The Size of List::"+l.size());
int siz=l.size();
Iterator itr=l.iterator();
while(itr.hasNext())
{
s=new String[siz];
int i=0;
s[i]=itr.next().toString();
System.out.println("The Elments are:"+s[i]);
i++;
}
}
%>

JavaScript代码

function verify_details()
{
var resourceId=document.getElementById("res").value;
var rid=new Array();
rid=<%=s%>
alert(rid[0]);

}

我尝试了这样的方法,但没有得到值。

最佳答案

JSP代码在服务器端执行,并生成文本。其中一些文本恰好是 JavaScript 代码。 JavaScript 代码在客户端执行,Java 数组不再作为数据结构存在。

当你写

rid=<%=s%>

您要求生成以下字符串:"rid="+ s.toString()

s 是一个字符串数组,生成的 Javascript 代码将如下所示:

rid=[Ljava.lang.String;@1242719c

这显然不是有效的 JavaScript 代码。

当您使用 JSP 生成 JavaScript 代码时,它与 HTML 代码没有任何不同。如果你想从包含“a”、“b”和“c”的 String Java 数组生成代码 rid = ['a', 'b', 'c'];,你需要迭代 Java 数组并输出一个单引号,后跟当前字符串,后跟一个单引号,后跟一个逗号。此外,您应该转义每个字符串,将引号字符转换为\',将换行符转换为\n 等。使用 StringEscapeUtils.escapeJavaScript从 commons-lang 来做到这一点。

关于javascript - 如何在javascript中访问jsp数组变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6556047/

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