action 的定义方式

一、调用action的自定义方法1;

java文件件,包含execute方法。

  

<constant name="struts.devMode" value="true" />
    <package name="front" extends="struts-default" namespace="/front">
        <action name="index" class="com.bjsxt.struts2.front.action.IndexAction1">
            <result name="success">/index.jsp</result>
        </action>
    </package>

 

标签中的class属性是表示action的对应的类(这个类是一个普通Java类),当访问这个action时会创建这个类成为一个对象,然后执行这个对象中的execute方法()(execute方法返回类型为String)。

 

第一种:Action 普通Java类

public class IndexAction1 {
public String execute() {
return "success";
}
}

二、调用action的自定义方法2;

实现Action接口

第二种:Action 实现com.opensymphony.xwork2.Action接口,这个接口中定义了一些常量和一个execute方法,我们重写execute()方法就可以了。

import com.opensymphony.xwork2.Action;
public class IndexAction2 implements Action {
@Override
public String execute() {
//return "success";
return this.SUCCESS; //SUCCESS常量值为:"success"
}

 

三、调用action的自定义方法3;

ƒ继承ActionSupport类(推荐)

第三种:Action 继承com.opensymphony.xwork2.ActionSupport类,而这个类又实现了com.opensymphony.xwork2.Action接口,我们重写execute()方法就可以了。

 

i

mport com.opensymphony.xwork2.ActionSupport;
public class IndexAction3 extends ActionSupport {
@Override
public String execute() {
//return "success";
return this.SUCCESS;//SUCCESS常量值为:"success"
}
}

注:第三种Action是我们需要使用的方式。它帮我封装了许多其它有用的方法,直接拿来使用。