用于java的Javascript location.href

时间:2014-08-22 12:09:08

标签: java

有一些像location.href javascript但是对于java。 我需要在jsp页面中。 我现在正在使用javascript,但在jsp页面中对我来说会更好。 TX。

3 个答案:

答案 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)

如果您希望浏览器导航到其他位置,请使用重定向:

http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletResponse.html#sendRedirect(java.lang.String)

如果您只是想知道您所在的页面(路径),那么就有:

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