zoukankan      html  css  js  c++  java
  • Action配置

    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="*Actionclass="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-INFlib下重启项目
     
    localhost:8080/项目名/config-browser/index.action
     
     
  • 相关阅读:
    Android 解决小米手机Android Studio安装app 报错的问题It is possible that this issue is resolved by uninstalling an existi
    Android Unresolved Dependencies
    Android studio 自定义打包apk名
    Android Fragment与Activity交互的几种方式
    魅族和三星Galaxy 5.0webView 问题Android Crash Report
    Android几种常见的多渠道(批量)打包方式介绍
    Android批量打包 如何一秒内打完几百个apk渠道包
    上周热点回顾(9.30-10.6)团队
    上周热点回顾(9.23-9.29)团队
    上周热点回顾(9.16-9.22)团队
  • 原文地址:https://www.cnblogs.com/goingforward/p/5729849.html
Copyright © 2011-2022 走看看