有一些像location.href javascript但是对于java。 我需要在jsp页面中。 我现在正在使用javascript,但在jsp页面中对我来说会更好。 TX。
答案 0 :(得分:2)
如果您使用RequestDispatcher.forward()
将请求从控制器路由到视图,则可以在servlet中使用:
request.getAttribute("javax.servlet.forward.request_uri")
或在JSP中:
${requestScope['javax.servlet.forward.request_uri']}
如果您想从JSP内部获取文件的路径:
${pageContext.request.servletPath}
如果您在servlet中,可以尝试这种方式:
String uri = request.getRequestURI();
String pageName = uri.substring(uri.lastIndexOf("/")+1);
如果你在其他地方:
String port = ( Executions.getCurrent().getServerPort() == 80 ) ? "" : (":" + Executions.getCurrent().getServerPort());
url = Executions.getCurrent().getScheme() + "://" + Executions.getCurrent().getServerName() + port + Executions.getCurrent().getContextPath() + Executions.getCurrent().getDesktop().getRequestPath();
答案 1 :(得分:1)
如果您希望浏览器导航到其他位置,请使用重定向:
如果您只是想知道您所在的页面(路径),那么就有:
request.getRequestURI() -> /foo/bar?key=value
request.getRequestURL() -> http://www.domain.de/foo/bar (without query)
request.getPathInfo() -> /foo/bar (including /)
request.getQueryString() -> key=value (without ?)
但一般来看看:https://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/http/HttpServletRequest.html
答案 2 :(得分:0)
另一种可能的方法是使用RequestDispatcher。看看redirect jsp from servlet RequestDispatcher