有人可以测试这个例子并分享结果吗?http://timothypowell.net/blog/?p=23 http://timothypowell.net/blog/?p=23
当我做:
var myVar = '<% request.getContextPath(); %>';
alert(myVar);
I get : '<% request.getContextPath(); %>'.
从 '';
给出语法错误。
如何在 js 函数中使用 scrptlet 或表达式?
编辑:此链接有一个对我有帮助的解释:
http://www.codingforums.com/showthread.php?t=172082 http://www.codingforums.com/showthread.php?t=172082
该行代码必须放置在 HTML 中<script>
标签在一个.jsp
文件。这样一来JspServlet
将处理 scriptlet(以及其他 JSP/EL 特定表达式)。
<script>var myVar = '<%= request.getContextPath() %>';</script>
注意<%= %>
是打印变量的正确语法,<% %>
不这样做。
或者如果它打算以独立的形式提供.js
文件,那么你需要将其重命名为.jsp
并将以下内容添加到文件顶部(并更改<script src>
相应的网址):
<%@page contentType="text/javascript" %>
...
var myVar = '<%= request.getContextPath() %>';
这样一来JspServlet
将处理它,并且浏览器将被指示将 JSP 响应主体解释为 JavaScript 而不是 HTML。
与具体问题无关,请注意小脚本被考虑不良做法 https://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files。使用EL。
var myVar = '${pageContext.request.contextPath}';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)