从 JSP 访问 JavaScript 中的 Java 变量
根据请求对象属性动态填充 JSP 中的表单时,可以利用 Java 脚本进行无缝访问。
将 Java 变量打印为 JavaScript变量:
JSP 生成 HTML/CSS/JS 代码,因此您可以简单地指示 JSP 将 Java 变量打印为 JavaScript 变量。使用 EL 语法 (${foo}),您可以按如下方式打印变量:
<script>var foo = '${foo}';</script>
处理 JSON 对象:
如果您的 Java 变量更复杂,例如 bean、列表或映射,使用 Gson 等库将其转换为 JSON 字符串。然后,您可以将其打印为 JavaScript 对象:
<script>var foo = ${someObjectAsJson};</script>
示例:
- <script>var foo = '${foo}' ;</脚本>在 JavaScript 中将 foo 作为字符串打印。</script>
-
<script>someFunction('${foo}');</script>;以 foo 作为参数调用 JavaScript 函数。
-
...
;定义一个带有 onclick 事件的 DIV,该事件会触发以 foo 作为参数的 someFunction。
注意:
- 将 Java 变量括在字符串的引号中,但省略数字和布尔值的引号。
- 处理时考虑 XSS 攻击漏洞用户控制的输入,并在必要时使用 JS 转义。
其他资源:
- [JSP Wiki](https://wiki. apache.org/jspwiki/)
- [转义 JavaScript JSP](https://stackoverflow.com/questions/125354/how-to-escape-javascript-in-jsp)
- [从JavaScript](https://stackoverflow.com/questions/1842397/call-servlet-and-invoke-java-code-from-javascript-along-with-parameters)
- [使用 Servlet 和Ajax](https://www.javaworld.com/article/2076172/architecting-java/mastering-servlets-and-ajax-techniques.html)
以上是如何在 JSP 页面中的 JavaScript 中访问 Java 变量?的详细内容。更多信息请关注PHP中文网其他相关文章!