Struts2系列之配置处理结果

1.理解处理结果

1.1:浏览器、控制器和视图资源的顺序图

2.配置结果

2.1:局部结果

            将<result.../>作为<action.../>元素的子元素配置,一个<action.../>元素可以有多个<result.../>子元素,表示一个Action可以对应多个结果

2.2:Struts2支持的结果类型

               Struts2支持多种视图技术,例如JSP、Velocity和FreeMarker等。而结果类型决定了Action处理结束后,下一步将调用哪种视图资源来呈现处理结果
      Struts2默认提供了一系列的结果类型,由struts-default-xml配置文件进行配置;struts-default.xml文件保存在struts2-core-2.3.16.3.jar文件的根路径下。

2.3:简要介绍其中三种结果类型

2.3.1:palinText结果类型

          主要用于显示实际视图资源的源代码:

      <result type="palinText”>

          <!--指定实际的视图资源-->

          <param type="location">/WEB-INF/*,jsp</param>

          <!--指定使用指定的字符集来处理页面代码-->

          <param name="charSet">GBK</param>    

      </result>

2.3.2:redirect结果类型

     将请求redirect(重定向)到指定的视图资源:系统将调用HttpServletResponse的sendRedirect(String)方法来重定向指定视图资源

     使用redirect类型的结果时,不能重定向到/WEB-INF/路径下任何资源,因为重定向相当于重新发送请求,而Web应用的/WEB-INF/路径下资源是受保护资源

2.3.3:redirectAction结果类型

              这种结果类型与redirect类型非常相似,一样是重新生成一个全新的请求。但redirectAction使用ActionMapperFactory提供的ActionMapper来重定向请求

     当需要让一个Action处理结束后,直接将请求重定向到另一个Action时,就应该使用这种结果类型

     <result type="redirectAction">

         <!--指定重定向的actionName-->

         <param name="actionName"></param>

         <!--指定重定向的Action所在的命名空间-->

         <param name="nameSpace"></param>

     </result>

     比较:redirect通常用于生成一个对具体资源的请求,而redirectAction通常用于生成对另一个Action的请求

2.4:动态结果

      是指在指定实际视图资源时使用了表达式语法,通过这种语法可以允许Action处理完用户请求后,动态转入实际的视图资源;也可以使用OGNL表达式,这种用法允许根据Action属性值来

2.5:Action属性值决定物理视图资源

           配置<result.../>元素时,不仅可以使用${0}表达式来指定视图资源,还可以使用${属性名}的方法来指定视图资源;${属性名}里的属性名就是对应Action是实例里的属性。不仅允许使用这种简单的表达式,而且还可以使用完全的OGNL表达式,即使用这种形式:${属性名.属性名.属性名...}

2.6:全局结果

     当在<global-result.../>元素中配置<result.../>元素时,该<result.../>元素配置了一个全局结果,全局结果将对所有的Action有效

2.7:使用PreRestultListener

           PreResultListener是一个监听器接口,它可以在Action完成控制处理之后,系统转入实际的物理视图之间被回调。

   Struts2应用可由Action、拦截器添加PreResultListener监听器,添加PreResultListener监听器通过ActionInvocation的addPreResultListener()方法完成。一旦为Action添加了PreResultListener监听器,该监听器就可以在应用转入实际物理视图之前回调该监听器的beforeResult()方法:一旦为拦截器添加了PreResultListener监听器,该监听器会对该拦截器所拦截的所有Action都起作用




       





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值