Struts2:
Action中result的各种转发类型:

内部请求转发dispatcher(默认值)
 redirect、redirectAction、plainText
1.redirect是重定向到某个路径、视图
<action name="redirect">/***重定向
   <result type="redirect">/employeeAdd.jsp?username=${username}</result>
</action>
URLEncoder.encode("传智播客","UTF-8");
取值解码
在前台<% = URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8"),"UTF-8") %>

2.redirectAction是重定向到某个Action
<action name="redirectAction">
  <resutl type="redirectAction">Action的名称</resutl>
</action>
重定向到另一个包下的Action如何?
<action name="redirectAction">
  <resutl type="redirectAction">
      <param name="actionName">Action名称</param>给源代码的这两个属性注入值
      <param name="namespace">/control/department</param>
  </resutl>
</action>
3.plainText适用于查看某个JSP源代码即显示源代码的时候使用
<action name="plainText">
  <resutl type="plainText">/index.jsp</result>
</action>
结果会将整个视图的源代码输出在浏览器上给用户看UTF-8的模式呈现不会说中文乱码
<action name="plainText">
  <resutl type="plainText">
   <param name="location">/index.jsp</param>
   <param name="charSet">UTF-8</param>
  </result>
</action>
4.大多数Action公用的视图配置
<global-results>
<result name="message">/WEB-INF/page/message.jsp</result>
</global-results>
这段代码放在某个<package></package>代码段中的Action是公用视图外如果想定义全局的话可以
<package name="base" extends="struts-default">
</package>
其它包继承 extentds="base"就OK 各个包中的Action使用公共视图就这样定义全局视图

-------------------------------------------------------------------------------------------------------------

为Action的属性注入值
要实现依赖注入必须提供Set方法
<struts>
<package name="itcast" namespace="/control/employee" extends="struts-default">
   <action name="list" class="cn.itcast.action.HelloWorldAction" method="execute">
     <param name="savepath">/images</param>给Action中的savepath属性注入的值
        <result name="success">/WEB-INF/page/message.jsp</result>
   </action>
</package>
</struts>

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5. <struts>
  6. <constant name="struts.action.extension" value="lp" />
  7. <package name="login" namespace="/" extends="struts-default">
  8. <action name="login" class="myclass.struts2.action.LoginAction">
  9. <!--使用重定向的跳转方式 -->
  10. <result name="succ" type="redirectAction">
  11. <!-- 不同包action的访问
  12. <param name="actionName">logout</param>
  13. -->
  14. <!--不同包action的访问并传值方法一
  15. <param name="actionName">logout?username=${username}&userpassword=${userpassword}</param>
  16. -->
  17. <!--不同包action的访问并传值方法二 -->
  18. <param name="actionName">logout</param>
  19. <param name="username">${username}</param>
  20. <param name="userpassword">${userpassword}</param>
  21. <param name="namespace">/logout</param>
  22. </result>
  23. <result name="fail">/failure.jsp</result>
  24. </action>
  25. </package>
  26. <package name="logout" namespace="/logout" extends="struts-default">
  27. <action name="logout" class="myclass.struts2.action.LogoutAction">
  28. <result name="exit">/exit.jsp</result>
  29. </action>
  30. </package>
  31. </struts>

Struts2中Action各种转发类型的更多相关文章

  1. struts2中的结果视图类型

    实际上在Struts2框架中,一个完整的结果视图配置文件应该是: <action name="Action名称" class="Action类路径" me ...

  2. struts2 中的 result 返回类型是 json 的配置问题

    struts2 中的 result 返回类型是 json 的配置问题 1.引入包(本文中的包全部引自struts-2.1.8.1\lib): struts2-json-plugin-2.1.8.1.j ...

  3. Struts2中Action接收参数的方法主要有以下三种:

    Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式):     a.定义:在Action类中定义属性,创建get和set方法:     b.接 ...

  4. 基于用户登陆的struts2中action的分类详解

    在struts2中action的分类有:继承 ActionSupport 实现 Action,模型驱动(ModelDriven)的 Action,多方法的 Action三种方式. 1.继承 Actio ...

  5. struts2中action手动获取參数

    struts2中action手动获取Session,jsp页面參数 1. ActionContext 在Struts2开发中,除了将请求參数自己主动设置到Action的字段中,我们往往也须要在Acti ...

  6. Struts2中Action取得表单数据的几种方法

    Struts2中Action取得表单数据的几种方法   Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form act ...

  7. 关于struts2中action请求会执行两次的问题

    关于struts2中action请求会执行两次的问题     在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行 ...

  8. Controller 中Action 返回值类型 及其 页面跳转的用法

        •Controller 中Action 返回值类型 View – 返回  ViewResult,相当于返回一个View 页面. -------------------------------- ...

  9. struts2中Action到底是什么,怎么理解

    struts2中Action到底是什么,怎么理解 1.配置完web.xml2.创建视图页面login.jsp3.创建业务控制器LoginAction类(解释说:创建业务控制器LoginAction类, ...

随机推荐

  1. python类的反射使用方法

    曾经,博主的房东养了只金毛叫奶茶,今天就拿它当议题好了. 博主写本文时正在被广州的蚊子围攻. #反射练习 class animal(object): def __init__(self,name,fo ...

  2. java并发实战:连接池实现

    池化技术简介 在我们使用数据库的过程中,我们往往使用数据库连接池而不是直接使用数据库连接进行操作,这是因为每一个数据库连接的创建和销毁的代价是昂贵的,而池化技术则预先创建了资源,这些资源是可复用的,这 ...

  3. sqlserver 导出数据库表结构

    https://www.cnblogs.com/miaomiaoquanfa/p/6909835.html SELECT 表名 = case when a.colorder=1 then d.name ...

  4. 关于instanceof的使用

    测试单独一个类: <?php class A { } $a = new A(); if($a instanceof A){ echo "对象\$a实现了A类"; } 当一个子 ...

  5. 搭建Jupyter Notebook服务器

    昨天发了Jupyter的使用,补一篇Jupyter服务器的搭建~ 一.搭建Jupyter 1.安装 使用virtualenv建虚拟环境.在虚拟环境中安装jupyter.matplotlib等等需要的库 ...

  6. hiveserver2不能启动

    我的hiveserver2一直不能启动,命令行一直卡住不动,然后我就想是不是配置文件没有配置相关的参数,然后就来修改hive-site.xml 最终修改完后的hive-site.xml: <?x ...

  7. Python学习:4.运算符以及数据类型解析

    运算符 一.算数运算: 二.比较运算: 三.赋值运算 四.逻辑运算 五.成员运算 基本数据类型 一.Number(数字) Python3中支持int.float.bool.complex. 使用内置的 ...

  8. java getter和setter的方法及内部类的调用

    class Test{ public static void main(String[]args){ Person person=new Person(); person.age=22; person ...

  9. Verilog_Day3

    内容为书中第5章 条件语句 条件语句必须在过程块语句中使用.所谓过程块语句是指由 initial 和 always 语句引导的执行语句集合.除这两种块语句引导的begin_end块中可以编写条件语句外 ...

  10. SAP Odata実行命令(2)

    前言 $ skiptokenは.アプリケーションに送信されるエントリ数を制限するために使用されます. 膨大な数のエントリが要求された場合.これはパフォーマンスの向上にも役立ちます.次のリンクがアプリケ ...