通常,要在JSP中获取请求URL,我会使用
${pageContext.request.requestURL}
但是在我正在使用的项目上(因为我们使用的是瓷砖)如果我运行上面的内容我会得到类似
的内容WEB-INF/pathTo/pageName.jsp
即使请求URL是另一个,也就是使用tile包含的JSP的路径。
在这种情况下,如何使用JSP EL获取请求URL?
答案 0 :(得分:4)
Tiles已经重写/转发了请求,所以当你的jsp收到请求时,它不是原始请求。
你可以做两件事......
抓住原始网址并将其作为属性request.setAttribute("origRequestURL", request.getRequestURL())
放置,然后使用${origRequestURL}
查看此属性是否在转发前保留原始内容:
<% request.getAttribute("javax.servlet.forward.request_uri"); %>
或${requestScope['javax.servlet.forward.request_uri']}