0

我所需要的只是<script>location.href</script>JSTL(或 JSP)中的值。

与网页浏览器显示相同。但这并不容易。

我正在使用Tiles2request.getRequestURL()显示tiles基本 jsp 位置,例如/WEB-INF/tiles/base.jsp...

我发现<%=request.getAttribute("javax.servlet.forward.request_uri")%>展示了我想要的东西。 https://stackoverflow.com/a/11387378/411615

但仍然不够。它没有显示协议和域。我再次搜索。

http://${pageContext.request.localName}<%=request.getAttribute("javax.servlet.forward.request_uri")%>

它看起来很脏并且不包含参数。我会让它变成这样...

Map<String, String[]> parameters = request.getParameterMap();
    for(String parameter : parameters.keySet()) {
        ...
    }

但这很奇怪。在 javascript 中它是如此简单,但在 JSP 中却非常困难。

有什么巧妙的方法吗?

我的环境是Spring 3.1, Tiles2

4

1 回答 1

2

Request 对象是您在服务器端获得的全部内容。由于浏览器将完全组装的 URL 发送到服务器,因此无法知道原始 href 链接中的内容。您的选择是 1)在客户端使用一些 javascript 技巧将原始 href 作为参数或标头值发送,或者 2)在 Request 对象中四处寻找您需要的东西。2) 更好。

于 2013-07-09T01:55:13.527 回答