01_3_创建一个Action
1. 定义一个action
具体视图的返回可以由用户自己定义的Action来决定
具体的手段是根据返回的字符串找到相应的配置项,来决定视图的内容
具体Action的实现可以是普通的java类,里面有public String execute() 方法即可
或者实现Action接口
不过最常用的是从ActionSupport继承,好处在于直接使用Struts2封装好的方法。
1.1下载xwork-2.1.2.jar.zip包
wget http://www.java2s.com/Code/JarDownload/xwork/xwork-2.1.2-sources.jar.zip
并配置源码查看链接
1.2第一种方式
1.2.1配置struts.xml文件
<action name="index" class="com.sumapay.action.IndexAction1">
<!-- 1.此处,浏览器在访问index的时候,容器会将用户请求交给class com.sumapay.action.IndexAction1
处理 默认会执行IndexAction1类中的execute()方法,返回sucess字符串。result 默认不配置返回类型,就是success,
就会返回配置的DefininAction.jsp页面。 2.此处的class类,可以不设置,不设置的话,会默认使用Struts中的ActionSupport类,此类实现Action接口,Action接口中
同样有个execute()方法 -->
<result>
/DefinitionAction.jsp
</result>
</action>
1.2.2手工定义一个类,定义一个类包含execute()方法
package com.sumapay.action;
public class IndexAction1 {
public String execute() {
return "success";
}
}
1.3第二种方式
1.3.1配置struts.xml文件
<action name="index2" class="com.sumapay.action.IndexAction2">
<result>
/DefinitionAction.jsp
</result>
</action>
1.3.2创建一个类实现Action接口
package com.sumapay.action;
import com.opensymphony.xwork2.Action;
public class IndexAction2 implements Action{
public String execute() throws Exception {
return "success";
}
}
1.4第三种方式
1.4.1配置struts.xml文件
<action name="index3" class="com.sumapay.action.IndexAction3">
<result>
/DefinitionAction.jsp
</result>
</action>
1.4.2定义一个类基础ActionSupport这个类
package com.sumapay.action;
import com.opensymphony.xwork2.ActionSupport;
public class IndexAction3 extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public String execute() {
return "success";
}
}