Jig*_*shi 78
alert("${variable}");
Run Code Online (Sandbox Code Playgroud)
要么
alert("<%=var%>");
Run Code Online (Sandbox Code Playgroud)
或完整的例子
<html>
<head>
<script language="javascript">
function access(){
<% String str="Hello World"; %>
var s="<%=str%>";
alert(s);
}
</script>
</head>
<body onload="access()">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
注意:在渲染之前清理输入,它可能会打开很多XSS的可能性
Adr*_* Be 23
据我所知,这是最干净的方式:
我对这个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>
Run Code Online (Sandbox Code Playgroud)
使用JSP时的HTML部分:
<body data-customvalueone="${beanName.attrName}" data-customvaluetwo="${beanName.scndAttrName}">
Here is your regular page main content
</body>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
这里有jsFiddle在行动中看到这个http://jsfiddle.net/6wEYw/2/
资源:
Que*_*tin 12
假设您正在讨论HTML文档中的JavaScript.
您无法直接执行此操作,因为就JSP而言,它是输出文本,就页面而言,它只是获取HTML文档.
您必须生成JavaScript代码来实例化变量,注意转义 JS中具有特殊含义的任何字符.如果您只是转储数据(正如其他一些答案所建议的那样),当数据包含新行,引用字符等时,您会发现它会丢失.
最简单的方法是使用JSON库(在http://json.org/的底部列出了一堆),然后使用JSP输出:
<script type="text/javascript">
var myObject = <%= the string output by the JSON library %>;
</script>
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个可以访问的对象:
myObject.someProperty
Run Code Online (Sandbox Code Playgroud)
在JS中.
归档时间: |
|
查看次数: |
203050 次 |
最近记录: |