【发布时间】:2016-08-23 10:08:02
【问题描述】:
有没有一种方法可以仅使用 Javascript 和 JSP 将 JSP 变量值传递给外部 Javascript 文件。比如:
JSP
字符串 str = "你好";外部.js
//不工作 var str = "";谢谢。
【问题讨论】:
标签: javascript jsp
有没有一种方法可以仅使用 Javascript 和 JSP 将 JSP 变量值传递给外部 Javascript 文件。比如:
JSP
字符串 str = "你好";外部.js
//不工作 var str = "";谢谢。
【问题讨论】:
标签: javascript jsp
如果您认为 java 脚本是在 JSP 中编写的,那么它是可能的。
但是您单独提供 JS 文件,然后您可以创建一个全局变量,该变量将在任何地方都可用。
【讨论】:
您将无法写入外部 js 文件。但是,如果您将 var s = "<%=str%>"; 放入您的 jsp 中,它将成为一个全局变量,可以在您的外部 js 文件中使用,因为 s 将具有全局范围。所以简而言之,你不能修改实际的 js 文件,但你可以添加一个全局范围的变量,并在你的外部 js 脚本中引用该变量。
【讨论】:
您可以创建一个包含 js 代码的 jsp,其中印有“动态内容”,然后将该 jsp 作为普通 js 文件导入。我将向您展示我自己的实现,用于我正在处理的站点(它使用 struts)。我正在使用这种方法向客户端导出包含多个本地化字符串的地图:
foo.jsp:
<%@ page contentType="text/javascript" pageEncoding="UTF-8" %>
<%@ taglib uri="/struts-tags" prefix="s" %>
var myString = '<s:text name="foo.MY_STRING" />'
struts.xml:
<action name="foo"><result>foo.jsp</result></action>
home.jsp:
<script type="text/javascript" src="foo.action" charset="UTF-8"></script>
【讨论】:
在将 JavaScript 文件包含在 JSP 文件中之前定义字符串。
<script type="text/javascript">
var str = "Hello";
</script>
<script src="js/myJavascript.js"></script>
在你的 JavaScript 文件中,你可以直接引用变量。
例如
alert(str)
【讨论】: