6

通常,要在 JSP 中获取请求 URL,我会使用

${pageContext.request.requestURL}

但是在我正在使用的项目中(因为我猜我们使用瓷砖)如果我运行上面的内容,我会得到类似的东西

WEB-INF/pathTo/pageName.jsp

即使请求 URL 是另一个 URL,并且这只是使用图块包含的 JSP 的路径。

在这种情况下,如何使用 JSP EL 获取请求 URL?

4

1 回答 1

4

Tiles 已经重写/转发了请求,所以当你的 jsp 收到请求时,它不是原始请求。

你可以做两件事..

  1. 在您的控制器中获取原始网址并将其作为属性放置request.setAttribute("origRequestURL", request.getRequestURL()),然后使用${origRequestURL}

  2. 看看这个属性是否在转发之前保持原来的: <% request.getAttribute("javax.servlet.forward.request_uri"); %>${requestScope['javax.servlet.forward.request_uri']}

于 2013-01-10T09:10:07.697 回答