Class RedirectView


  • public class RedirectView
    extends Object
    View that redirects to an absolute, context relative, or current request relative URL, exposing all model attributes as HTTP query parameters.

    A URL for this view is supposed to be a HTTP redirect URL, i.e. suitable for HttpServletResponse's sendRedirect method, which is what actually does the redirect if the HTTP 1.0 flag is on, or via sending back an HTTP 303 code - if the HTTP 1.0 compatibility flag is off.

    Note that while the default value for the "contextRelative" flag is off, you will probably want to almost always set it to true. With the flag off, URLs starting with "/" are considered relative to the web server root, while with the flag on, they are considered relative to the web application root. Since most web apps will never know or care what their context path actually is, they are much better off setting this flag to true, and submitting paths which are to be considered relative to the web application root.

    Note that in a Servlet 2.2 environment, i.e. a servlet container which is only compliant to the limits of this spec, this class will probably fail when feeding in URLs which are not fully absolute, or relative to the current request (no leading "/"), as these are the only two types of URL that sendRedirect supports in a Servlet 2.2 environment.

    This class was borrowed from a nearly identical version found in the Spring Framework, with minor modifications to avoid a dependency on Spring itself for a very small amount of code - we couldn't have done it better, and don't want to repeat all of their great effort ;). The original author names and copyright (Apache 2.0) has been left in place. A special thanks to Rod Johnson, Juergen Hoeller, and Colin Sampaleanu for making this available.

    Since:
    0.2
    See Also:
    setContextRelative(boolean), setHttp10Compatible(boolean), HttpServletResponse.sendRedirect(java.lang.String)