将变量从 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的主要内容,如果未能解决你的问题,请参考以下文章

我可以将变量从我的 javascript 传递到 jsp 文件吗?

我可以将变量从 JSP scriptlet 传递给 JSTL,但不能从 JSTL 传递给 JSP scriptlet 而不会出错

如何将变量的值从java类传递到jsp页面

如何将参数从漂亮的 URL 传递到 JSP 页面?

传入null时,JSP标记属性从父范围继承变量?

将数组与 bean 一起从 servlet 传递到 jsp