一:关于Struts2的type类型,也就是Result类型,他们都实现了共同的接口Result,都实现了execute方法
他们体现了策略模式,具体Result类型参见:struts-default.xml文件:
  1. <result-types>
  2. <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
  3. <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
  4. <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
  5. <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
  6. <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
  7. <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
  8. <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
  9. <result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
  10. <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
  11. <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
  12. </result-types>
我们完全可以自己根据需求扩展Result类型
 
二:在Struts2中默认为转发,也就是<result>标签中的type="dispatcher",type的属性可以修改为重定向
Struts的重定向有两种:
type="redirect",可以重定向到任何一个web资源,如:jsp或Action,如果要重定向到Action,需要写上后缀:xxxx.action
type="redirectAction",可以重定向到Action,不需要写后缀,此种方式更通用些,不会因为后缀的改变影响配置
 
三:<result>标签的name属性,如果不配置,那么缺省值为success
 
四:全局Result和局部Result
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
  4. "http://struts.apache.org/dtds/struts-2.1.7.dtd">
  5.  
  6. <struts>
  7.  
  8. <!-- 当struts.xml配置文件发生修改,会立刻加载,在生产环境下最好不要配置 -->
  9. <constant name="struts.configuration.xml.reload" value="true"></constant>
  10. <!-- 提供更加友好的提示信息 -->
  11. <constant name="struts.devMode" value="true"></constant>
  12. <!-- 对字符集的设置 -->
  13. <constant name="struts.i18n.encoding" value="GB18030"/>
  14.  
  15. <package name="struts2" extends="struts-default">
  16. <!-- 全局Result,如果Action没有配置Result,使用全局Result,如果有局部Result,使用局部Result -->
  17. <global-results>
  18. <result>/success.jsp</result>
  19. <result name="error">/error.jsp</result>
  20. </global-results>
  21. <action name="login" class="com.djoker.struts2.LoginAction">
  22. <result>/success.jsp</result>
  23. <result name="error">/error.jsp</result>
  24. </action>
  25. </package>
  26.  
  27. <include file="struts-user.xml"></include>
  28. </struts>

struts2学习笔记之七:Result类型的更多相关文章

  1. Struts2 学习笔记 11 Result part2

    之前学习了result type 和global result 我们现在来说一下 1.Dynamic Result动态结果集.先来看一下小项目的目录 首页的两个链接访问user/user?type=1 ...

  2. Struts2学习笔记(四)——result结果类型

    当Action类的方法处理请求后,会返回一个字符串(逻辑视图名),框架根据这个结果码选择对应的result,向用户输出,所以需要在struts.xml提供<result>元素定义结果页面, ...

  3. Struts2学习笔记(三):result配置的各项视图转发类型

    Struts 1: <action path="/user" type="org.sunny.user.action.UserAction" ...> ...

  4. Struts2 学习笔记 10 Result部分 part1

    1.关于Result我们首先来学习一下结果类型 result type. 先来看struts.xml. struts.xml <?xml version="1.0" enco ...

  5. Struts2学习笔记⑧

    今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...

  6. Struts2 学习笔记(概述)

    Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...

  7. Hadoop学习笔记—5.自定义类型处理手机上网日志

    转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...

  8. Struts2学习笔记①

    Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...

  9. Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)

    Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...

随机推荐

  1. [转]LibreOffice-SDK 开发实战:嵌入MFC-View 和 C# Winform

    转自:http://www.aqcoder.com/blog/detail/id/1579bb39-9bcd-4c0f-9b02-67a851148196/ 前面片文章中我简要介绍了下 LibreOf ...

  2. VS非web项目使用Transformation配置文件

    Web项目中的Transformation使用起来非常方便,特别是本地与服务器情况不一致时调试下以及webdeploy的配合使用. 步骤: 1. 在项目中新建App.Debug.Config及App. ...

  3. fcc

    function spinalCase(str) { if(str.split(/\W|_/).length==1){ for(var i=0;i<str.length;i++){ if(/[A ...

  4. CSS 自定义字体

    移动端如何兼容UI给的字体 [toc] 移动端的默认字体 IOS 默认中文字体是Heiti SC 默认英文字体是Helvetica 默认数字字体是HelveticaNeue Android 默认中文字 ...

  5. Spring 学习笔记 7. 尚硅谷_佟刚_Spring_Bean 的作用域

    1,理论 •在 Spring 中, 可以在 <bean> 元素的 scope 属性里设置 Bean 的作用域. •默认情况下, Spring 只为每个在 IOC 容器里声明的 Bean 创 ...

  6. Python项目:扇贝网小组查卡助手

    扇贝网是一个非常棒的英语学习网站,大家还可以加入一些小组,一起交流学习.共同进步.但是,小组管理起来非常辛苦,尤其是在0点前踢出不打卡的成员,因此考虑利用程序来实现小组查卡自动化. 登录 操作 扇贝网 ...

  7. IQueryable<T> 与 ObjectQuery<T> 差异

    命名空间:System.Data.Objects程序集:  System.Data.Entity(在 System.Data.Entity.dll 中)public class ObjectQuery ...

  8. ArcGIS百米网格自动生成

    最近需要用百米网格进行空间叠加分析,首先得自动生成百米网格数据.经过查找,发现ARCgis可以自动生成网格.方法如下 2.创建格网(Creat Fishnet).需要用到ArcGIS的ArcToolb ...

  9. 对于新安装的MySQL如何提升MySQL的安全级别

    一 作为最流行的开源数据库引擎,MySQL本身是非常安全的.即便如此,你仍然需要添加额外的安全层来保护你的MySQL数据库不受攻击,毕竟任何经营网上在线业务的人都不想冒数据库受到损坏的风险.接下来,我 ...

  10. 前台传参数时间类型不匹配:type 'java.lang.String' to required type 'java.util.Date' for property 'createDate'

    springMVC action接收参数: org.springframework.validation.BindException: org.springframework.validation.B ...