Action是一个逻辑控制器,并不直接对浏览器生成响应,而是返回指定逻辑视图(一个字符串)。
不推荐在Action的name属性值中使用点(.)和中划线(-),有可能会引发一些未知异常。
 
1使用Action的动态方法调用(DMI)
    1)设置struts.enable.DynamicMethodInvocation常量值为true(存在安全缺陷)
    2)targetForm.action = "actionName!methodName"(method是Action里面跟execute性质一样的方法)
 
2指定method属性及使用通配符
    通过通配符将一个Action处理类定义成多个逻辑Action
    1)一个Action里多个方法写多个class和result 一样,方法不一样的Action       
 

<action name="login" class="org.crazyit.app.action.LoginRegistAction">

            <!-- 定义逻辑视图和物理视图之间的映射关系 -->
            <result name="error">/WEB-INF/content/error.jsp</result>
            <result>/WEB-INF/content/welcome.jsp</result>
        </action>
        <!-- 配置regist Action,处理类为LoginRegistAction
            指定使用regist方法处理请求-->
        <action name="regist" class="org.crazyit.app.action.LoginRegistAction"  method="regist">
            <!-- 定义逻辑视图和物理视图之间的映射关系 -->
            <result name="error">/WEB-INF/content/error.jsp</result>
            <result>/WEB-INF/content/welcome.jsp</result>
        </action>
          action=actionName
    2)在name属性里加通配符,在class、method属性及result子元素中使用{N}的形式来代替前面第N个*号所匹配的子串
        <!-- 使用模式字符串定义Action的name,指定所有以Action结尾的请求,
        都可用LoginRegistAction来处理,method属性使用{1},
        这个{1}代表进行模式匹配时第一个*所代替的字符串 -->
        <action name="*Action" class="org.crazyit.app.action.LoginRegistAction"
            method="{1}">
    3)<action name="*Action" class="org.crazyit.app.action.{1}Action">
    4)<action name="*_*" class="org.crazyit.app.action.{1}Action" method="{2}">
    5)<action name="*">
            <result>/WEB-INF/content/{1}.jsp</result>
        </action>
    Action  搜索顺序:
                    除非请求的URL与Action的name一模一样,否则按struts.xml中Action定义的先后顺序来决定处理请求的Action. 
 
3配置默认Action
  <default-action-ref name="aaa">
            <!-- 该元素可以出现0至多次-->
              <param name="参数名">参数值</param>
        </default-action-ref>
    <action name="aaa" class="" method="" converter="">
            ...
    </action>
 
4配置Action默认处理类
    <default-class-ref name="com.opensymphony.xwork2.ActionSupport"/>
 
5Config Browser插件
安装:struts2-config-browser-plugin-2.3.16.3.jar复制到项目WEB-INF\lib下重启项目
 
localhost:8080/项目名/config-browser/index.action
 
 

Action配置的更多相关文章

  1. Struts2基于注解的Action配置

    使用注解来配置Action的最大好处就是可以实现零配置,但是事务都是有利有弊的,使用方便,维护起来就没那么方便了. 要使用注解方式,我们必须添加一个额外包:struts2-convention-plu ...

  2. python调用zabbix接口实现Action配置

    要写这篇博客其实我的内心是纠结的,老实说,我对zabbix的了解实在不多.但新公司的需求不容置疑,当我顶着有两个头大的脑袋懵懵转入运维领域时,面前摆着两百多组.上千台机器等着写入zabbix监控的需求 ...

  3. struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法

    struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法

  4. struts2视频学习笔记 03-06(Struts 2配置文件无提示问题,Action配置中的各项默认值,各种转发类型)

    课时3 解决Struts 2配置文件无提示问题(eclipse):window→preference→XML→XML Catlog

  5. struts中的常量,action配置中的默认值

    1.struts中Action的开发方式 继承ActionSupport类,这种方法实现的Action可以进行数据校验: 实现Action接口: 不继承任何类,不实现任何接口: 是否继承类或实现接口, ...

  6. Struct.xml Action配置

    <package name="default" namespace="/" extends="struts-default"> ...

  7. 关于Struts2中 Action 配置method的解读

    为Action配置method属性: 将Action类中的每一个处理方法都定义成一个逻辑Action方法. <!DOCTYPE struts PUBLIC "-//Apache Sof ...

  8. 自学Zabbix3.12.3-动作Action-自动发现action配置

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.12.3-动作Action-自动发现action配置 1. 首先先学习  Ne ...

  9. 关于mybatis的参数2个使用经验(类似于struts2的通配所有页面的action配置,xmlsq语句参数类型为基本类型时的快捷指定办法)

    1.我们都知道在struts2中为防止浏览器绕过struts过滤器直接请求页面,所以我们都会配置一个拦截所有页面的action,如下: <action name="*"> ...

随机推荐

  1. nyoj 483 Nightmare【bfs+优先队列】

    Nightmare 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 Ignatius had a nightmare last night. He found him ...

  2. 337. House Robber III

    二刷吧..不知道为什么house robbery系列我找不到笔记,不过印象中做了好几次了. 不是很难,用的post-order做bottom-up的运算. 对于一个Node来说,有2种情况,一种是选( ...

  3. Android iOS Dribbble风格边栏菜单实现

    随着IOS7的推出,大量移动应用也开始进行了重新设计.,开始应用大量的扁平化.可以说现在IOS和Android的风格设计方面确实是在逐渐地靠拢. ReisdeMenu 创意灵感来自于Dribbble( ...

  4. Hibernate查询之HQL查询

    转自:http://blog.csdn.net/xiao_yi/article/details/1733342 Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(H ...

  5. GitHub简历

    My GitHub Résumé可以帮你生成一份github简历,你只需要输入你的github用户名.

  6. Pgsql数据库jsonb操作函数集合

    CREATE OR REPLACE FUNCTION "json_object_del_path"( "json" json, "key_path&q ...

  7. Nothing

    破烂的文具盒里,一张十年的纸条子和一袋存了十年的德芙巧克力 浅绿色的纸条子上写是当时你给我抄的作业题目,蓝色清秀的字体 但是十年后,你却已嫁他人 将身后的风雪.夕阳,空气埋葬.窑藏,待非常多年以后酿成 ...

  8. Activiti5.13数据库表结构设计

    1.结构设计 1.1.    逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的 ...

  9. 标准差(standard deviation)和标准误差(standard error)你能解释清楚吗?

    by:ysuncn(欢迎转载,请注明原创信息) 什么是标准差(standard deviation)呢?依据国际标准化组织(ISO)的定义:标准差σ是方差σ2的正平方根:而方差是随机变量期望的二次偏差 ...

  10. 为什么DropDownList的SelectedIndexChanged事件触发不了

    写的还行,转来大家看看 为什么DropDownList的SelectedIndexChanged事件触发不了? 为什么设置了DropDownList的AutoPostBack="True&q ...