配置处理结果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所在命名空间
 
 
 
posted @ 2016-08-02 16:45  JillWen  阅读(647)  评论(0编辑  收藏  举报