通过4个Action类,完成将请求转发,重定向到页面和转发,重定向到Action的四个操作:
4个Action类依次是:
public class Demo1Action extends ActionSupport{
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("1开始了");
return SUCCESS;
}
}
public class Demo2Action extends ActionSupport{
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("2开始了");
return SUCCESS;
}
}
public class Demo3Action extends ActionSupport{
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("3开始了");
return SUCCESS;
}
}
public class Demo4Action extends ActionSupport{
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("4开始了");
return SUCCESS;
}
}
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="result" namespace="/" extends="struts-default">
<!-- 转发 -->
<action name="Demo1Action" class="cn.itheima.a_result.Demo1Action" method="execute">
<result name="success" type="dispatcher">/hello.jsp</result>
</action>
<!-- 重定向 -->
<action name="Demo2Action" class="cn.itheima.a_result.Demo2Action" method="execute">
<result name="success" type="redirect">/hello.jsp</result>
</action>
<!-- 转发到Action -->
<action name="Demo3Action" class="cn.itheima.a_result.Demo3Action" method="execute">
<result name="success" type="chain">
<!-- Action的名字 -->
<param name="actionName">Demo1Action</param>
<!-- Action所在的命名空间 -->
<param name="namespace">/</param>
</result>
</action>
<!-- 重定向到Action -->
<action name="Demo4Action" class="cn.itheima.a_result.Demo4Action" method="execute">
<result name="success" type="redirectAction">
<!-- Action的名字 -->
<param name="actionName">Demo1Action</param>
<!-- Action所在的命名空间 -->
<param name="namespace">/</param>
</result>
</action>
</package>
<include file="cn/itheima/b_api/struts.xml"></include>
<include file="cn/itheima/c_param/struts.xml"></include>
</struts>
重点在于struts文件的配置,type这个属性决定请求的去向,转发到页面是dispatcher,重定向到页面是redirect,转发到Action时是chain,重定向到Action时是redirectAction