我正在使用InternalResourceViewResolver
Spring 来呈现存在于/WEB-INF/view
. 我也在视图中使用 JSTL。现在问题出现在更改in<url-pattern>
之后。DispatcherServlet
web.xml
我试图通过它获取 servlet 路径,${pageContext.request.servletPath}
但它返回/WEB-INF/view/skel/welcome.jsp
的是 WEB-INF 目录的路径,而request.getServletPath()
返回/h2o
的是控制器 Java 代码内部。<% out.print(request.getServletPath()); %>
也在/WEB-INF/view/skel/welcome.jsp
视图文件 ( /WEB-INF/view/skel/welcome.jsp
) 中返回。
它似乎来自控制器 Java 代码和 JSP 视图文件中的请求实例之间的差异。请求是org.apache.catalina.core.ApplicationHttpRequest
JSP 视图文件中的实例,但它是org.apache.catalina.connector.RequestFacade
控制器 Java 代码中的实例。
到目前为止,幸运的是,我们单独安装它,不需要关心<uri-patter>
或 servlet 路径。但是这个项目需要与其他系统集成,因此从视图文件中获取 servlet 路径以映射某些菜单或表单操作目标的正确 URL。
您是否知道/h2o
从视图文件中获取正确的 servlet 路径()?