从mJSP页面获取URL

Ana*_*ass 9 url jsp

我会抓住当前JSP网页的URL及其设置示例:index.jsp?param = 12

你知道吗?谢谢

Bal*_*usC 24

你可以从EL中提供的HttpServletRequest对象中获取它.前的部分可通过方法和之后的部分是由可用方法.所以,简而言之:${pageContext.request}?getRequestURL()?getQueryString()

<p>Request URL: ${pageContext.request.requestURL}</p>
<p>Query string: ${pageContext.request.queryString}</p>
<p>Full URL: ${pageContext.request.requestURL}?${pageContext.request.queryString}</p>
Run Code Online (Sandbox Code Playgroud)

如果你想使用普通的Java代码来做这件事,你最好使用Servlet.

String requestURL = request.getRequestURL().toString();
String queryString = request.getQueryString();
if (queryString != null) requestURL += "?" + queryString;
// ...
Run Code Online (Sandbox Code Playgroud)

  • 警告:如果您使用RequestDispatcher转发到jsp页面,则上述jsp代码可能不会生成您期望的URL.它将生成转发的jsp页面的URL,而不是用户实际请求的URL.我之前[曾经提到@BalusC](http://stackoverflow.com/questions/5624911/include-jsp-file-with-java/5624928#comment-6409455)我还在等待一个令人满意的解决方法.现在,我包括jsps而不是转发. (6认同)