![](/img/trans.png)
[英]Is it possible to pass a JavaScript Variable to Java code inside a Scriptlet
[英]Accessing a Java Map inside a scriptlet
我已经将Java Map对象导入到正在使用的JSP文件中。 我需要做的是获取该映射的每个条目,并将其放入JSP中的表中。 我不会表现出我对scriptlet的超级了解,但是据我所知,它们在运行之前都经过了评估,然后放入代码中,这使访问单个条目成为一个挑战。 我目前正在通过在地图上执行toString然后使用正则表达式解析信息来使其工作,但我想更安全地进行操作。
如何做到这一点?
您关于在运行之前评估scriptlet的假设是错误的。 小脚本的工作方式类似于以下示例:
<p> Hello world </p>
<%
while (something) {
doSomeStuff();
}
%>
<p> Bye </p>
被编译成这样的东西:
stream.write("<p> Hello world </p>");
while (something) {
doSomeStuff();
}
stream.write("<p> Bye </p>");
本质上,所有不在scriptlet中的内容都会放入stream.write
,而所有-的内容都将保持不变。 在大多数具有JSP支持的应用服务器中,您甚至可以找到那些预编译的JSP servlet,并查看生成的代码。 而且,这种方法使它疯狂地快。
因此,在您的情况下,编写scriptlet不会有问题。
我假设您的Map是Map<Integer,String>()
类型;
<ul>
<%
for(Integer key : yourmap.keySet()) {
String value = data.get(key);
System.out.printf("%s = %s%n", key, value);
%>
<li><%= value%></li>
<%
}
%>
</ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.