Struts2中Action各种转发类型
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>
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <constant name="struts.action.extension" value="lp" />
- <package name="login" namespace="/" extends="struts-default">
- <action name="login" class="myclass.struts2.action.LoginAction">
- <!--使用重定向的跳转方式 -->
- <result name="succ" type="redirectAction">
- <!-- 不同包action的访问
- <param name="actionName">logout</param>
- -->
- <!--不同包action的访问并传值方法一
- <param name="actionName">logout?username=${username}&userpassword=${userpassword}</param>
- -->
- <!--不同包action的访问并传值方法二 -->
- <param name="actionName">logout</param>
- <param name="username">${username}</param>
- <param name="userpassword">${userpassword}</param>
- <param name="namespace">/logout</param>
- </result>
- <result name="fail">/failure.jsp</result>
- </action>
- </package>
- <package name="logout" namespace="/logout" extends="struts-default">
- <action name="logout" class="myclass.struts2.action.LogoutAction">
- <result name="exit">/exit.jsp</result>
- </action>
- </package>
- </struts>
Struts2中Action各种转发类型的更多相关文章
- struts2中的结果视图类型
实际上在Struts2框架中,一个完整的结果视图配置文件应该是: <action name="Action名称" class="Action类路径" me ...
- struts2 中的 result 返回类型是 json 的配置问题
struts2 中的 result 返回类型是 json 的配置问题 1.引入包(本文中的包全部引自struts-2.1.8.1\lib): struts2-json-plugin-2.1.8.1.j ...
- Struts2中Action接收参数的方法主要有以下三种:
Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式): a.定义:在Action类中定义属性,创建get和set方法: b.接 ...
- 基于用户登陆的struts2中action的分类详解
在struts2中action的分类有:继承 ActionSupport 实现 Action,模型驱动(ModelDriven)的 Action,多方法的 Action三种方式. 1.继承 Actio ...
- struts2中action手动获取參数
struts2中action手动获取Session,jsp页面參数 1. ActionContext 在Struts2开发中,除了将请求參数自己主动设置到Action的字段中,我们往往也须要在Acti ...
- Struts2中Action取得表单数据的几种方法
Struts2中Action取得表单数据的几种方法 Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form act ...
- 关于struts2中action请求会执行两次的问题
关于struts2中action请求会执行两次的问题 在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行 ...
- Controller 中Action 返回值类型 及其 页面跳转的用法
•Controller 中Action 返回值类型 View – 返回 ViewResult,相当于返回一个View 页面. -------------------------------- ...
- struts2中Action到底是什么,怎么理解
struts2中Action到底是什么,怎么理解 1.配置完web.xml2.创建视图页面login.jsp3.创建业务控制器LoginAction类(解释说:创建业务控制器LoginAction类, ...
随机推荐
- DW CS5序列号
先要改host文件,以防止其连接 Adobe 的激活验证服务器 1. 用记事本编辑“C:\Windows\System32\Drivers\etc\”目录下的 hosts 文件, 在末尾加上: 127 ...
- CF1066EBinary Numbers AND Sum(前缀和,二进制)
题目大意 现在,给你两个位数为 n 和 m 的两个二进制数a,b,现在,我们要进行如下操作: 计算a&b 答案累加上一个操作的值 bbb右移一位,最后一位直接舍弃 现在,请你算出最终的答案,并 ...
- linux下的学习之路下的小困难
centos下源码安装python3wget --no-check-certificate https://www.python.org/ftp/python/3.6.2/Python-3.6.2.t ...
- Linux磁盘管理和lvm
磁盘管理 硬盘接口和硬盘种类 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS ...
- Flask之蓝图的使用
蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看 ...
- ubuntu下的python网页解析库的安装——lxml, Beautiful Soup, pyquery, tesserocr
lxml 的安装(xpath) pip3 install lxml 可能会缺少以下依赖: sudo apt-get install -y python3-dev build-e ssential li ...
- Drill-On-YARN
1. Drill-On-YARN介绍 功能 启动 停止 扩容 缩容 failover 启动流程 下载drill的社区包,进行必要的配置,执行drill-on-yarn.sh start命令,启动dri ...
- pymyspl模块
pymysql的下载和使用 该模块本质就是一个套接字客户端软件,使用前需要事先安装,能够让我们在 Python程序中操作数据库. pymysql模块的下载: 在Python安装文件中找到scripts ...
- Java学习笔记二十四:Java中的Object类
Java中的Object类 一:什么是Object类: Object类是所有类的父类,相当于所有类的老祖宗,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object ...
- c语言程序设计:用strcpy比较数组(银行卡密码程序设计),strcpy(复制数组内容)和getchar()(敲键盘字符,统计不想要的字符的个数)
统计从键盘输入一行字符的个数: 1 //用了getchar() 语句 2 //这里的\n表示回车 #include <stdio.h> #include <stdlib.h> ...