将变量从 JSP 传递到 Javascript

Posted

技术标签:

【中文标题】将变量从 JSP 传递到 Javascript【英文标题】:Passing variable from JSP to Javascript 【发布时间】:2013-07-17 14:53:27 【问题描述】:

我知道已经有这方面的问题,但我不能简单地完成这项工作,我有一个 JSP 文件,其中包含一个 java 变量:

String test = "Hello";

而且我需要在嵌入在同一个 JSP 文件中的 javascript 中读取这个值,我尝试了很多选项,但它不起作用,并且为了安全我不想使用 URL 或隐藏值传递值。

关于如何使其工作的任何想法?

【问题讨论】:

【参考方案1】:

我知道这是旧的,但这对我有用:

var javaScriptVar="<%out.print(javaString);%>";

您需要确保如果您使用的是外部 js 文件(在 jsp 文件之外),则上述行必须位于“include”脚本标记之前。例如这是jsp文件:

var javaScriptVar="<%out.print(javaString);%>";
<script src="some_location/test.js"></script>

【讨论】:

【参考方案2】:

最好的方法是在你的 javascript 代码中使用类似以下的东西;

var myvar = '$jspvar';

【讨论】:

我需要访问 【参考方案3】:

你可以通过调用html部分的一些方法来传递值..

<input type="submit" value="view" onclick="callpro('<%= varname %>')" />

【讨论】:

【参考方案4】:
var jsvariable="<%=test%>";

【讨论】:

我已经试过了:var jsvariable="";但它不起作用:( “不起作用”是什么意思?什么是输出 HTML?请发布完整的 JSP。 我尝试传递的变量总是被接收为空,换句话说 document.getElementById("Id").value;不返回任何东西 @user2596007 请提供整个 JSPage。【参考方案5】:

需要注意的一点是,您可以用这种方式命名这些变量:

var MYAPP.javaScriptVar="<%out.print(javaString);%>";

该技术来自“Javascript: The Good Parts”一书。

【讨论】:

以上是关于将变量从 JSP 传递到 Javascript的主要内容,如果未能解决你的问题,请参考以下文章