01_3_创建一个Action

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";

}

}

原文地址:https://www.cnblogs.com/flyback/p/8644562.html