• 配置处理结果result


    Action处理完用户请求后返回一个字符串,整个字符串就是一个逻辑视图名。
    除此之外,struts2还支持多种结果映射,struts2将结果转为实际资源时,不仅可以是JSP视图资源,也可以是FreeMarker视图资源,甚至可以将请求转给下一个Action,形成Action的链式处理。
     
            |--局部    作为<action../>子元素
            |--全局    作为<global-results../>子元素
                            全局结果对所有Action都有效,处理请求时先在局部找,找不到再到全局找
                    
        <result../>元素
            name    逻辑视图名(默认为success)
            type      结果类型(默认为dispatcher)
          配置result时如果没有指定location参数,系统会将<result..>...</result>中间的字符串当成实际视图资源
            
     
     
     
    Struts2支持结果类型:
    默认:dispatcher
    struts-default.xml配置文件里的片段:
     <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResultdefault="true"/>
    不算插件所支持的结果类型,struts2内建的支持结果类型有:
        chain,dispatcher,freemarker,httpheader,redirect,redirectAction,stream,velocity,xslt.plainText
     
    自定义结果类型需要
            1)提供一个实现com.opensymphony.xwork2.Result的类。
            2)在struts.xml文件中配置该结果类型。
     
    动态结果
            在配置result元素时也可以使用表达式语法:
                    <action name="crud_*" class="" method="{1}">...
                            <result>WEB-INF/content/{1}.jsp</result>
                       </action>
     
    Action属性值决定物理视图资源:除了可以使用${0}表达式形式指定视图资源外,还可以使用${属性名.属性名......}(OGNL表达式)形式:
         <result type="redirect">edit.action?skillName=${currentSkill.name}</result>
        
      
      result元素的type属性为dispatcher 时:
                <param../>元素的name属性可以是    |--location    指定逻辑视图对应的实际视图资源
                                                                           |--parse        是否允许使用OGNL表达式,默认为true
     
        plainText主要用于显示实际资源页面的源码,可指定两个参数:
                    |--location    实际视图资源
                    |--charset      输出页面事所用字符集
     
        redirect与dispatcher(请求forward转发)结果类型相对,是将请求重定向到指定资源,可指定两个参数:
                    |--location    跳转地址
                    |--parse        是否允许使用表达式,默认为true
                使用redirect时,不能重定向到WEB-INF下的资源
     
        redirectAction使用ActionMapperFactory提供的ActionMapper来重定向请求,通常用于生成对另一个Action的请求。可以指定两个参数:
                    |--actionName    指定重定向的action名
                    |--namespace      指定重定向的action所在命名空间
     
     
     
  • 相关阅读:
    基础知识漫谈(5):应用面向对象来分析“语言”
    【线段树】BZOJ2752: [HAOI2012]高速公路(road)
    【树状数组】BZOJ3132 上帝造题的七分钟
    【AC自动机】Lougu P3796
    【Splay】bzoj1500(听说此题多码上几遍就能不惧任何平衡树题)
    【fhq Treap】bzoj1500(听说此题多码上几遍就能不惧任何平衡树题)
    【可持久化线段树】POJ2104 查询区间第k小值
    【RMQ】洛谷P3379 RMQ求LCA
    【倍增】洛谷P3379 倍增求LCA
    【网络流】POJ1273 Drainage Ditches
  • 原文地址:https://www.cnblogs.com/goingforward/p/5729859.html
Copyright © 2020-2023  润新知