Struts 1:

<action path="/user" type="org.sunny.user.action.UserAction" ...>
<forward name="index">/index.jsp</forward>
<forward name="redirect" redirect="true">/index.jsp</forward>
</action>

  struts 1中将forward的属性redirect的值设置为true就可以进行网页的重定向。

Struts 2:

  struts 2中的result配置类似于struts 1中的forward,但是struts 2中提供了多种结果类型,常用的类型有:dispatcher(默认值)、redirect、redirectAction以及plainText。

  在result中还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action的属性。

<result type="redirect">/index.jsp?id=${id}</result>

  type设置为redirectAction可以重定向到另一个action。

  重定向到同一个包中action

<package name="sunny" namespace="/" extends="struts-default">
<action name="user_*" class="org.sunny.user.action.UserAction" method="{1}">
<result name="success">${pageContext.request.contextPath}/WEB-INF/jsp/success.jsp</result>
<result type="redirectAction" name="indexAction">index</result>
</action> <action name="index" class="org.sunny.index.action.IndexAction" method="execute">
<result name="index">${pageContext.request.contextPath}/index.jsp</result>
</action>
</package>

  重定向到另一个包中的action

  包名相同,命名空间不同的情况:

<package name="sunny" namespace="/" extends="struts-default">
<action name="user_*" class="org.sunny.user.action.UserAction" method="{1}">
<result name="success">${pageContext.request.contextPath}/WEB-INF/jsp/success.jsp</result>
<result name="indexAction" type="redirectAction">
<param name="namespace">/shine</param>
<param name="actionName">index</param>
</result>
</action>
</package> <package name="shine" namespace="/" extends="struts-default">
<action name="index" class="org.sunny.index.action.IndexAction" method="execute">
<result name="index">${pageContext.request.contextPath}/WEB-INF/jsp/index.html</result>
</action>
</package>

  包名和命名空间都不同的情况:

<package name="sunny" namespace="/" extends="struts-default">
<action name="user_*" class="org.sunny.user.action.UserAction" method="{1}">
<result name="success">${pageContext.request.contextPath}/WEB-INF/jsp/success.jsp</result>
<result name="indexAction" type="redirectAction">
<param name="namespace">/tbc</param>
<param name="actionName">index</param>
</result>
</action>
</package> <package name="shine" namespace="/tbc" extends="struts-default">
<action name="index" class="org.sunny.index.action.IndexAction" method="execute">
<result name="index">${pageContext.request.contextPath}/WEB-INF/jsp/index.html</result>
</action>
</package>

Struts2学习笔记(三):result配置的各项视图转发类型的更多相关文章

  1. 04. struts2中Result配置的各种视图转发类型

    概述 <action name="helloworld" class="com.liuyong666.action.HelloWorldAction"&g ...

  2. struts2学习笔记之七:Result类型

    一:关于Struts2的type类型,也就是Result类型,他们都实现了共同的接口Result,都实现了execute方法 他们体现了策略模式,具体Result类型参见:struts-default ...

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

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

  4. Struts2 学习笔记 11 Result part2

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

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

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

  6. Struts2学习笔记(三)——Action详解

    Action是用于处理请求操作的,它是由StrutsPrepareAndExceuteFilter分发过来的. 1.Action的创建方式 1) POJO类(PlainOldJavaObjects简单 ...

  7. Struts2学习笔记三:深入Action

    一:Action中获取参数值 在Servlet中,我们通过doGet()/doPost()方法中的参数,获取request/response对象,然后提取参数值: 处理请求结束后,有数据需要携带返回客 ...

  8. struts2学习笔记三

    一.国际化概念(了解) 1.什么是国际化 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 2.什么需要国际 ...

  9. Struts2学习笔记三 访问servlet

    结果跳转方式 转发 <!-- 转发 --> <action name="Demo1Action" class="cn.itheima.a_result. ...

随机推荐

  1. 40个DBA日常维护的SQL脚本--1113

    from itpub --1.查询碎片程度高的表--条件为什么block>100,因为一些很小的表,只有几行数据实际大小很小,但是block一次性分配就是5个(11g开始默认一次性分配1M的bl ...

  2. iOS GCD多线程介绍

    GCD:是纯C语言写的,是苹果公司为多核的并行运算提出的解决方案. GCD的两个核心概念: - 任务 - 队列 将任务添加到队列中 GCD会自动将队列中的任务取出,放到对应的线程中执行 任务的取出遵循 ...

  3. ASP.NET网站实现中英文转换(本地化资源)

    主要内容: 1. 简单例子 2. 进一步认识Localization 3. 语言转换 4. 解决方案 一. 简单例子 下面通过一个简单的例子来说明利用Localization来实现本地化是那么的简单, ...

  4. 使用SQL Server 2008远程链接时SQL数据库不成功的解决方法

    关键设置: 第一步(SQL2005.SQL2008): 开始-->程序-->Microsoft SQL Server 2008(或2005)-->配置工具-->SQL Serv ...

  5. C语言字符串库函数的实现

    1.strlen(字符串的长度) size_t Strlen(const char* str) { assert(str); ;; ++i) { if (str[i] == '\0') return ...

  6. Chrome rem bug

    遇到一个bug,发现chrome在初始化页面的时候,会错误的渲染rem单位,导致字体过大. 比如: 正常的应该是这样的: 原因是,为了使用rem单位,我们常常将 html 的font-size设置为6 ...

  7. 完美PNG半透明窗体解决方案

    当年Vista系统刚出来的时候,最吸引人的莫过于半透明磨砂的窗体界面了,迷倒了多少人.这个界面技术随即引发了编程界的一阵骚动,很多人都在问:如何实现这一界面效果?当然,在Vista下倒是很简单,系统本 ...

  8. UFLDL实验报告1: Softmax Regression

    PS:这些是今年4月份,跟斯坦福UFLDL教程时的实验报告,当时就应该好好整理的…留到现在好凌乱了 Softmax Regression实验报告 1.Softmax Regression实验描述 So ...

  9. 简述安装android开发环境

    1, 安装java sdk2, 安装andoroid sdk3, 在环境变量里配置java和andoroid sdk的路径4, 部署eclipse,并在eclipse上安装ADT 补充: 步骤3之后需 ...

  10. 转:使用 Docker 搭建 Java Web 运行环境

    原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...