2012-03-14 9 views
15

${requestScope['javax.servlet.forward.servlet_path']} mi fornisce la stringa corretta, ma non include i parametri che potrebbero essere impostati nell'URL.JSTL - Stampa l'url corrente comprese le stringhe di query

Esempio:

http://localhost/path/i/want?param=1 dovrebbe darmi una stringa /path/i/want?param=1

Ho la sensazione che questo dovrebbe essere fatto facilmente, ma non riesco a capirlo.

Grazie in anticipo!

risposta

16

È disponibile per ${requestScope['javax.servlet.forward.query_string']}.

+0

Non quello che cercavo, ma ESATTAMENTE quello che cercavo. Grazie. – thonnor

6

Ho cercato anche per un po '.

<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:'' }"/> 
+0

Grazie amico !!! –

Problemi correlati