【问题标题】:Access JSP variable in javascript在 javascript 中访问 JSP 变量
【发布时间】:2016-12-08 22:00:47
【问题描述】:

如何将 JSP 变量传递给外部文件中的 javascript 函数?

我有以下设置

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<script type="text/javascript" src="js/jquery/jquery-2.1.1.js"></script>
<script type="text/javascript" src="js/jquery/ui/jquery-ui.js"></script>
<script type="text/javascript" src="js/date/moment.js"></script>
<script type="text/javascript" src="js/app.js"></script>
<script type="text/javascript" charset="utf-8"  src="js/d3.js"></script>
<script type="text/javascript" src="js/myScript.js" ></script>
<link href="js/jquery/ui/jquery-ui.css" rel="stylesheet" />
<link href="js/jquery/ui/jquery-ui.theme.css" rel="stylesheet" />
<link href="css/myCSS.css" rel="stylesheet" />
<title>My Title</title>
</head>
<body>
   <div id="myDIV">
      <c:set var="myVar" value="${myInVar}" />
      <script>runMyScript();</script>
   </div>
</body>
</html>

现在在我的 javascript 中,我尝试访问 jsp 变量,但我在网上找到的两种方法都不起作用:

var javaScriptVar = '${myVar}';
var javaScriptVar2 = "<%=myVar%>";

我得到的是字符串,而不是 jsp 变量的实际值。

我读到了这个答案:Passing variable from JSP to Javascript,它建议在我包含 javascript 文件之前声明变量,但我不知道该怎么做。

如果我将它们放在标头中,它们不会被解析,因为它们来自后端请求。 如果我没有在标头中包含脚本并在调用之前将 src 属性添加到脚本部分,则该方法永远不会执行。

这里完全糊涂了。

【问题讨论】:

  • “我得到了字符串”是什么意思?你得到的实际输出是什么。
  • 我的意思是字符串没有被评估,它只是一个字符串。该值最终为“”

标签: javascript jsp


【解决方案1】:

您的 JavaScript 位于 .js 文件中。服务器将(除特殊情况外)将其视为静态文件。它只会将其提供给客户端而不进行处理。

如果你想运行 JSP 代码(比如&lt;%=myVar%&gt;),那么把它放在一个 JSP 文件中。

【讨论】:

  • body 和 header 都在 JSP 文件中。
  • 我想我明白你的意思了。 JSP 不在外部文件中评估,因此将它们传递给外部文件中的函数。
猜你喜欢
  • 2014-01-11
  • 2017-07-07
  • 2021-08-23
  • 2012-10-03
相关资源
最近更新 更多