• 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
     
     
  • 相关阅读:
    22. Generate Parentheses
    21. Merge Two Sorted Lists
    20. Valid Parentheses
    19. Remove Nth Node From End of List
    18. 4Sum
    JDK7新特性
    类Enum
    装饰设计模式
    模板设计模式
    反射
  • 原文地址:https://www.cnblogs.com/goingforward/p/5729849.html
Copyright © 2020-2023  润新知