【发布时间】:2012-03-31 00:27:10
【问题描述】:
${requestScope['javax.servlet.forward.servlet_path']} 为我提供正确的字符串,但不包括可能在 url 中设置的参数。
例子:
http://localhost/path/i/want?param=1 应该给我一个字符串/path/i/want?param=1
我觉得这应该很容易完成,但无法弄清楚。
提前致谢!
【问题讨论】:
${requestScope['javax.servlet.forward.servlet_path']} 为我提供正确的字符串,但不包括可能在 url 中设置的参数。
例子:
http://localhost/path/i/want?param=1 应该给我一个字符串/path/i/want?param=1
我觉得这应该很容易完成,但无法弄清楚。
提前致谢!
【问题讨论】:
${requestScope['javax.servlet.forward.query_string']} 提供。
【讨论】:
我也找了一段时间。
<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:'' }"/>
【讨论】: