在我目前的春季项目中,我创造了一个定制的百日咳处理器。此处理器的实现需要检索应用程序的URL,并在jsp页面中为${pageContext.request.contextPath}
返回值。有人知道怎么做到吗?
答案 0 :(得分:0)
内幕:
在Thymeleaf中,JSP的${pageContext.request.contextPath}
相当于@{ }
,即。如果你在jsp中有一个网址,如${pageContext.request.contextPath}/login
,那么在百里香中它会是@{/login}
。 Thymeleaf使用/ [[ - ]] /语法来评估javascript中的变量,例如var url = /*[[@{/login}]]*/;
参考:http://www.thymeleaf.org/doc/articles/standardurlsyntax.html
内部处理器类:
首先,您需要将上下文转换为IWebContext,然后获取HttpServletRequest对象,调用getRequest,最后通过调用request.getContextPath()获取上下文路径。您可能想要使用instanceof运算符检查上下文是否是一种IWebContext,我在此处跳过了。
final HttpServletRequest request = ((IWebContext) context).getRequest();
System.out.println("contextpath: " + request.getContextPath());