Struts 1:

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

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

Struts 2:

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

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

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

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

  重定向到同一个包中action

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

  重定向到另一个包中的action

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

  1. <package name="sunny" namespace="/" extends="struts-default">
  2. <action name="user_*" class="org.sunny.user.action.UserAction" method="{1}">
  3. <result name="success">${pageContext.request.contextPath}/WEB-INF/jsp/success.jsp</result>
  4. <result name="indexAction" type="redirectAction">
  5. <param name="namespace">/shine</param>
  6. <param name="actionName">index</param>
  7. </result>
  8. </action>
  9. </package>
  10.  
  11. <package name="shine" namespace="/" extends="struts-default">
  12. <action name="index" class="org.sunny.index.action.IndexAction" method="execute">
  13. <result name="index">${pageContext.request.contextPath}/WEB-INF/jsp/index.html</result>
  14. </action>
  15. </package>

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

  1. <package name="sunny" namespace="/" extends="struts-default">
  2. <action name="user_*" class="org.sunny.user.action.UserAction" method="{1}">
  3. <result name="success">${pageContext.request.contextPath}/WEB-INF/jsp/success.jsp</result>
  4. <result name="indexAction" type="redirectAction">
  5. <param name="namespace">/tbc</param>
  6. <param name="actionName">index</param>
  7. </result>
  8. </action>
  9. </package>
  10.  
  11. <package name="shine" namespace="/tbc" extends="struts-default">
  12. <action name="index" class="org.sunny.index.action.IndexAction" method="execute">
  13. <result name="index">${pageContext.request.contextPath}/WEB-INF/jsp/index.html</result>
  14. </action>
  15. </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. location传值

    location.href="url?p="+"value"; onclick="location.href='Card_query_where?qu ...

  2. 第七篇、Nginx Install On Mac

    方式一: 在mac上安装nginx,依次安装对应的依赖 pcre ./configure --prefix=/usr/local/pcre-8.37 --libdir=/usr/local/lib/p ...

  3. busybox下mount nfs的命令

    busybox下mount nfs的命令 mount -f nfs -o nolock 10.130.30.2:/nfs/nuc970/rootfs /mnt/test

  4. PAT - 基础 - 龟兔赛跑

    题目: 乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息.乌龟每分钟可以前进3米,兔子每分钟前进9米:兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超 ...

  5. html的input输入框提示信息 点击隐藏

    <input type="text"    <!-- 文本框 --> name="textfield" value="请输入...& ...

  6. 矩形嵌套问题-ACM集训

    参考 http://blog.csdn.net/xujinsmile/article/details/7861412 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形 ...

  7. dedecms织梦导航栏二级菜单的实现方法

    dede导航下拉菜单,一级栏目增加二级下拉菜单   使用dedecms5.6——5.7 将这段代码贴到templets\default\head.htm文件里<!-- //二级子类下拉菜单,考虑 ...

  8. openshif ssh proxy

    最近google又被墙了.没办法 1:注册一个openshift账号.申请注册一个app,获取一个免费主机.   https://www.openshift.com/ 2:去PuTTY官方网站下载pL ...

  9. 升级Python至2.7.8,并安装django

    1:下载Python-2.7.8.tgz2:步骤:tar -zxvf Python-2.7.8.tgzcd Python-2.7.8./configure -h --查看configure选项./co ...

  10. 查看Oracle是否锁表

    --Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作,那么这些操作是怎么实现的呢?本文我们主要就介绍一下这部分内容. --(1)锁表查询的代码有以下的形式: select ...