读书人

透析struts中的redirect=quot;truequot;与redi

发布时间: 2012-09-29 10:30:01 作者: rapoo

透析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是可以

读书人网 >软件架构设计

热点推荐