从 JavaScript 读取 JSP 变量
2022-08-31 16:04:47
如何从 JavaScript 读取/访问 JSP 变量?
alert("${variable}");
或
alert("<%=var%>");
或完整示例
<html>
<head>
<script language="javascript">
function access(){
<% String str="Hello World"; %>
var s="<%=str%>";
alert(s);
}
</script>
</head>
<body onload="access()">
</body>
</html>
注意:在渲染之前清理输入,它可能会打开很多XSS的可能性
据我所知,最干净的方式:
我对这个SO页面上的当前解决方案的看法:在实际的javascript代码中使用java scriplet“直接”读取JSP值可能是您可以做的最恶心的事情。让我想吐。哈哈。说真的,尽量不要这样做。
没有 JSP 的 HTML 部分:
<body data-customvalueone="1st Interpreted Jsp Value" data-customvaluetwo="another Interpreted Jsp Value">
Here is your regular page main content
</body>
使用 JSP 时的 HTML 部分:
<body data-customvalueone="${beanName.attrName}" data-customvaluetwo="${beanName.scndAttrName}">
Here is your regular page main content
</body>
Javascript 部分(为简单起见,使用 jQuery):
<script type="text/JavaScript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js"></script>
<script type="text/javascript">
jQuery(function(){
var valuePassedFromJSP = $("body").attr("data-customvalueone");
var anotherValuePassedFromJSP = $("body").attr("data-customvaluetwo");
alert(valuePassedFromJSP + " and " + anotherValuePassedFromJSP + " are the values passed from your JSP page");
});
</script>
这是jsFiddle,看看它在行动 http://jsfiddle.net/6wEYw/2/
资源: