透析struts中的redirect="true"与redirect="false"

透析struts中的redirect="true"与redirect="false"
再struts-config.xml文件的forward下有个redirect属性,这个属性的值为true和false有什么区别呢

redirect="true"时,会调用sendRedirect进行定向,而sendRedirect定向采用的时"(HTTP status 302)。

               再浏  览器发生页面改变

   redirect="false"时采用的是server-side forward端的定向



public void sendRedirect(String location)
        throws IOException {

        if (isCommitted())
            throw new IllegalStateException
                (sm.getString("coyoteResponse.sendRedirect.ise"));

        // Ignore any call from an included servlet
        if (included)
            return;

        // Clear any data content that has been buffered
        resetBuffer();

        // Generate a temporary redirect to the specified location
        try {
            String absolute = toAbsolute(location);

//    public static final int SC_FOUND = 302;
            setStatus(SC_FOUND);
            setHeader("Location", absolute);
        } catch (IllegalArgumentException e) {
            setStatus(SC_NOT_FOUND);
        }

引起的结果是:

如果采用redirect=true,那么request到下一个页面时request.setAttribute()时的值会丢失, 而false是可以