配置处理结果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所在命名空间
 
 
 

转载于:https://www.cnblogs.com/goingforward/p/5729859.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值