如何从百万美元处理器中的应用程序获取URL?

时间:2017-02-17 23:42:18

标签: spring thymeleaf

在我目前的春季项目中,我创造了一个定制的百日咳处理器。此处理器的实现需要检索应用程序的URL,并在jsp页面中为${pageContext.request.contextPath}返回值。有人知道怎么做到吗?

1 个答案:

答案 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());