JSTL - 打印包含查询字符串的当前URL

时间:2012-03-14 14:20:38

标签: java jsp jstl

${requestScope['javax.servlet.forward.servlet_path']}为我提供正确的字符串,但不包括可能在网址中设置的参数。

示例:

http://localhost/path/i/want?param=1应该给我一个字符串/path/i/want?param=1

我有一种感觉,这应该很容易做到,但无法弄明白。

提前致谢!

2 个答案:

答案 0 :(得分:18)

${requestScope['javax.servlet.forward.query_string']}可以使用。

答案 1 :(得分:9)

我一直在寻找。

<c:set var="req" value="${pageContext.request}" />
<c:set var="baseURL" value="${fn:replace(req.requestURL, req.requestURI, '')}" />
<c:set var="params" value="${requestScope['javax.servlet.forward.query_string']}"/>
<c:set var="requestPath" value="${requestScope['javax.servlet.forward.request_uri']}"/>
<c:set var="pageUrl" value="${ baseURL }${ requestPath }${ not empty params?'?'+=params:'' }"/>