Struts2 的 action

action: 应用程序可以完成的每一个操作. 例如: 显示一个登陆表单; 把产品信息保存起来
Action类: 普通的 Java 类, 可以有属性和方法, 同时必须遵守下面这些规则:
    1.属性的名字必须遵守与 JavaBeans 属性名相同的命名规则. 属性的类型可以是任意类型. 从字符串到非字符串(基本数据库类型)之间的数据转换可以自动发生
    2.必须有一个不带参的构造器
    3.至少有一个供 struts 在执行这个 action 时调用的方法
    4.同一个 Action 类可以包含多个 action 方法.
    5.Struts2 会为每一个 HTTP 请求创建一个新的 Action 实例
创建Action有三种方式:
    1.Action可以是一个普通的类, 不需要实现任何接口或继承任何类。
    2.Action可以实现Action接口
    3.不过最常用的是从ActionSupport继承,好处在于可以直接使用Struts2封装好的方法
Action的配置,action完整的属性如表所示:


Action配置中的各项默认值
<package name="default" extends="struts-default" namespace="/">
        <action name="myAction1" class="com.ambow.struts2.action.MyAction1">
            <result name="success">
			/ActionIntroduction.jsp</result>
        </action>
</package> 

1>如果没有为action指定class,默认是ActionSupport。
2>如果没有为action指定method,默认执行action中的execute() 方法。
3>如果没有指定result的name属性,默认值为success。

可以用动态的方法调用,下面通过一个例子来体现
第一步:导包
第二步:在web.xml中配置
<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

第三步:jsp界面
 
 

然后struts.xml中如下配置
这个第一种 method

然后再 类中,写add方法
最后跳转到结果页面
第二种DMI

第三种 wildcard
 传括号里边的值给xml,*Action,如果点的加 则是addAction,则method接受到的是*对应的add方法

还有一种 注入参数
直接再xml中配置需要的值,然后输出

猜你喜欢

转载自blog.csdn.net/qq_39145189/article/details/80384762