三种常用方式创建:
第一种:实现Action接口
package com.qfedu.web.action;
import com.opensymphony.xwork2.Action;
/**
*@Author feri
*@Date Created in 2018/7/4 10:10
* Action的创建方式 第一种:实现接口
*/
public class CreateAction implements Action {
@Override
public String execute() throws Exception {
System.out.println("第一种创建Action:实现接口");
return "success";
}
}
第二种:继承ActionSupport
/**
*@Author feri
*@Date Created in 2018/7/4 10:12
* * Action的创建方式 第二种:继承ActionSupport
*/
public class CreateAction2 extends ActionSupport {
public String hell(){
System.out.println("Action创建的第二种方式:继承ActionSupport");
return "success";
}
@Override
public String execute() throws Exception {
System.out.println("控制器可以有多个映射方法");
return "success";
}
}
第三种:普通类
/**
*@Author feri
*@Date Created in 2018/7/4 10:13
* Action的创建方式 第三种:自定义
*/
public class CreateAction3 {
public String test(){
System.out.println("Action创建的第三种方式:自定义类");
return "success";
}
}
映射配置:
在struts.xml文件中:
<!--Action的创建方式 三种-->
<package name="createpg" namespace="/" extends="struts-default">
<!--第一种-->
<action name="create1" class="com.qfedu.web.action.CreateAction1">
<result name="success">/index.jsp</result>
</action>
<!--第二种-->
<action name="create2" class="com.qfedu.web.action.CreateAction2" method="hell">
<result name="success">/index.jsp</result>
</action>
<!--第三种-->
<action name="create3" class="com.qfedu.web.action.CreateAction3" method="test">
<result name="success">/index.jsp</result>
</action>
<action name="create" class="com.qfedu.web.action.CreateAction2" method="execute">
<result name="success">/index.jsp</result>
</action>
</package>