首页 > 代码库 > Action 的定义方式

Action 的定义方式

action 的定义方式

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

 ?直接定义java文件件,包含execute方法。

    <constant name="struts.devMode" value="http://www.mamicode.com/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>

 

    <action>标签中的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()方法就可以了。

 

import com.opensymphony.xwork2.ActionSupport;

public class IndexAction3 extends ActionSupport {

@Override

public String execute() {

//return "success";

return this.SUCCESS;//SUCCESS常量值为:"success"

}

}

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