我使用 Spring Mvc,我想在javascript 文件中使用 EL 变量(例如${pageContext.request.contextPath}
) 。.js
这可能吗?如果有怎么办?
我使用 Spring Mvc,我想在javascript 文件中使用 EL 变量(例如${pageContext.request.contextPath}
) 。.js
这可能吗?如果有怎么办?
实现此目的的另一种常见方法是在标签内的调用 JSP 页面中声明您的 JSTL 值(例如 contextPath),方法<script>
是将它们添加到全局 JS 对象、变量或初始化函数。然后,您可以在由原始 JSP 页面调用的外部 JS 文件中引用这些值。
请参阅:此答案“在 JSP 标记中使用 JavaScript”
虽然它有点粗糙,但如果您使用诸如JAWR 之类的工具,它可能是唯一的选择。
您可以制作一个包含 JS 的模板,并将 contextPath 作为插入模板的变量传递。
@RequestMapping(value="path/to/handler", method = RequestMethod.GET, produces ="text/javascript")
public ModelAndView getJs(HttpServletRequest request) {
String contextPath = request.getContextPath();
return new ModelAndView("/path/to/js/", "contextPath", contextPath);
}
但是为什么你需要这样做呢?上下文路径在客户端也可用
编辑:
为此,您可能必须设置一个ViewResolver以便处理模板(如果您还没有)。
在页面中,您只需像往常一样包含脚本:
<script type="text/javascript" src="path/to/handler" />