在Action中,操作成功后,会返回给ActionServlet一个ActionForward。
(1)ActionForward的属性:name,path,redirect,className;
如下所示:
当设置redirect=“true”时,这是一个重定向,二次请求,重定向到login.jsp页面;
如果没有redirect,则是一个转发,是一次请求,在服务器端转发到
<forward name="login" path="/login.jsp" redirect="true"></forward>
(2)全局ActionForward和局部ActionForward
<global-forwards>
<forward name="login" path="/login.jsp"></forward>
</global-forwards>
上述的是全局的ActionForward,对于不同的Action都可以使用此ActionForward;
低于每一个Action配置的ActionForward是局部的;
首先是局部搜选--->全局搜选。
(3)Action返回一个ActionForward,然后由struts转发或者重定向;也可以自己来Action里面自己转发或者重定向,然后返回一个null。
(4)动态的ActionForward
由于静态的ActionForward在运行期是不能修改的,且struts-config.xml文件不允许动态修改,并且静态的ActionForward事先是配置好的,如果需要添加新的逻辑代码则需要在Action和配置文件等处修改,所以为了解决这个问题,可以采用动态的ActionForward,示例代码如下:
String =request.getParameter("page");
ActionForward af=new ActionForward();
af.setPath("/page"+p+".jsp");
return af;
这种方式不需要在struts-config.xml文件中配置forward。可以在这种方式中传递参数。