JSTL - печатать текущий URL, включая строки запроса - PullRequest
16 голосов
/ 14 марта 2012

${requestScope['javax.servlet.forward.servlet_path']} возвращает мне правильную строку, но не включает параметры, которые могут быть установлены в URL.

Пример:

http://localhost/path/i/want?param=1 должен дать мне строку /path/i/want?param=1

Я чувствую, что это должно быть сделано легко, но не могу понять.

Заранее спасибо!

Ответы [ 2 ]

18 голосов
/ 14 марта 2012

Доступно по ${requestScope['javax.servlet.forward.query_string']}.

9 голосов
/ 02 июня 2016

Я тоже давно искал.

<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:'' }"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...