我使用Spring Mvc,并且我想在${pageContext.request.contextPath} javascript文件中使用EL变量(例如.js)。

这可能吗?如果可以,怎么办?

最佳答案

您可以制作一个包含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" />

10-08 15:13