我谷歌很多并得到答案:
<c:out value="${pageContext.request.requestURI}" />
但我得到/myapp/WEB-INF/views/index.jsp
我想获得/myapp/index
我该怎么做?
我的项目是使用spring mvc。 我在spring-mvc.xml中的配置:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
在我的/ WEB-INF / views /中,有一个index.jsp
我的控制器:
@RequestMapping("/index")
public String welcome() {
return "index";
}
当我查看localhost:8088/myapp/index
时,会显示。
答案 0 :(得分:12)
尝试使用${requestScope['javax.servlet.forward.servlet_path']}
javax.servlet.forward.*
常量根据传递给getRequestDispatcher()
的URI检索信息(在Spring Web MVC的情况下,DispatcherServlet在处理请求时设置此属性)。但它独立于框架和Web容器。
正如文档所说FORWARD_SERVLET_PATH
是:
请求属性的名称,在该名称下,原始servlet路径可用于转发目标
您还应该记住,如果forward()
通过调用getNamedDispatcher()
起作用,这些属性(还有4个类似属性:request_uri
,context_path
,{{1} }和path_info
)未设置,因为在这种情况下,路径的初始元素不会更改。