Struts2的Action方法调用

原创 2016年08月30日 23:14:25

Struts2一般由3种常见的Action动态调用的方法,第一种是在struts.xml文件中配置来实现,但是此方法的缺点是有多少个action方法就要配置多少个action标签,所以在大型项目中不方便使用。除此之外,常用的还有感叹号法和通配符法。

一、感叹号法

1、新建一个Action类,代码如下:

public class HelloWorldAction extends ActionSupport {
    public String add(){
        return "add";
    }

    public String update(){
        return "update";
    }

    @Override
    public String execute() throws Exception {
        System.out.println("执行Action");
        return SUCCESS;
    }
}

2、配置struts.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd" >

<struts>
    <include file="struts-default.xml"></include>
    <package name="default" namespace="/" extends="struts-default">
        <action name="helloworld" class="action.HelloWorldAction">
            <result>/result.jsp</result>
            <result name="add">/add.jsp</result>
            <result name="update">/update.jsp</result>
        </action>
    </package>  

    <!-- 由于要使用感叹号这种方式,所以要用constant定义如下语句 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
</struts>

3、在浏览器地址栏输入URL进行测试
http://localhost:8080/HelloWorld/helloworld!add.action
其中helloworld是action标签中的name,对应的是找到class属性中的Action类,以感叹号为分割,add是该类中的方法,返回的是result标签中的name属性值。

二、通配符法

版权声明:本文为博主原创文章,未经博主允许不得转载。

Struts2——Action动态方法调用

对于同一个表单,当用户通过不同的按钮提交同一个表单时,系统需要使用Action的不同方法来处理用户请求,这时Action便需要包含多个控制处理逻辑,即一个action中包含多个方法。例如:login界...
  • Daybreak1209
  • Daybreak1209
  • 2015年09月20日 11:04
  • 4934

Struts2系统学习(6)action中方法调用的三种方式总结

6 action中方法调用的三种方式总结  在Struts2中对action中的方法调用概括起来主要有三种形式:   第一种方式:配置文件中指定调用action的method属性 ...
  • Mark_LQ
  • Mark_LQ
  • 2015年11月13日 10:29
  • 2919

Struts2.5动态方法调用action和使用通配符访问action

当一个Action处理了多个控制逻辑的时候,可能需要使用这个Action中的不同方法来进行不同的处理,此时有两种方法可以选择。 1.动态方法调用Action。 这种方法,需要在struts.xml...
  • Leafage_M
  • Leafage_M
  • 2017年01月16日 22:43
  • 2667

【Struts2集锦】Struts2的Action中多个方法调用

以前刚做java项目的时候,就用的是SSH框架,做了两个项目都用的是SSH框架,但是里面Action多个方法调用的时候却不一样,其实不止这一个不一样,不同项目用的都叫SSH框架,但是实现方式不一样,后...
  • u010539352
  • u010539352
  • 2016年01月29日 08:29
  • 2942

Struts2动态方法调用出错

昨天看马士兵的视频,里面讲到struts动态调用方法,然后自己把马士兵里面的所有除jar包以外的所有文件考过来,结果发现提示如下错误: Struts Problem Report Strut...
  • chenxinqiang2005
  • chenxinqiang2005
  • 2013年12月15日 16:55
  • 3136

Struts2中动态方法调用有三种方式

动态方法调用 在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多 第一种方式:指定method属性 这种方式我们前面已经用到过...
  • bigtree_3721
  • bigtree_3721
  • 2016年03月13日 18:46
  • 2345

Struts2方法调用的三种方式(默认、多方法、通配符)GOOD

在Struts2中方法调用概括起来主要有三种形式 第一种方式:指定method属性       /success.jsp       这样Struts2就会调用Student 中的add方法...
  • Baple
  • Baple
  • 2015年05月20日 10:27
  • 2134

struts2 动态方法调用 感叹号

学习Struts2有一段时间了。对于Struts2的动态方法调用做一下总结。 struts2的动态方法调用概括起来有三种方式,下面介绍: 1、第一种方式:设置method属性 在Action类中...
  • yangqicong
  • yangqicong
  • 2011年10月19日 11:22
  • 13010

JavaWeb-struts2动态方法调用

struts2动态方法调用 DynamicMethodInvoke 默认的"struts.xml"配置信息如下: /HelloWorld.jsp 想用动态方法调用时,在配置时,不用指定“...
  • lzhat
  • lzhat
  • 2016年12月07日 23:13
  • 525

Struts2 动态Action的三种实现方法

备注:原文不详,故无法贴网址 最早使用动态方式调用是在spring中,没想到Struts2也支持动态方法调用了,真是方便不少啊,呵呵,下面就来说说吧 :-)      1.动态方法调用...
  • u013323965
  • u013323965
  • 2016年07月29日 08:33
  • 3296
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts2的Action方法调用
举报原因:
原因补充:

(最多只允许输入30个字)