Struts2最新版(2.5.12)快速入门(二) Struts2之Action
来源:互联网 发布:淘宝店怎么发布宝贝 编辑:程序博客网 时间:2024/05/20 03:45
Struts2之Action
1、action与servlet
在struts1中 一个Action类完全等同于一个servlet类,但在struts2中,你也可以把它看作是一个servlet类,因为其处理业务逻辑方式和servlet大致相同,但是其本质却和servlet没半毛钱关系。我们使用servlet处理业务逻辑的话,如果一个servlet类里面有多个处理业务逻辑请求的话就需要做很多的请求判断。这样一来不仅我们项目的性能会大打折扣,而且对于后期项目的维护也是特别蛋疼的,因为你自己都不知道哪些功能是哪些代码实现的!
使用Action的好处在于,一个Action类不仅可以包含多个处理业务逻辑的方法,而且只需要我们在Struts.xml中配置一下action,相应的请求就可以进入指定处理业务逻辑的方法。也可以通过返回特定的值,然后在struts.xml中配置action的result即可跳至jsp或action。还可以“零配置”使用Annotation(注解) 来让我们的请求动态找到处理该业务逻辑的方法,并返回至相应的jsp或action。
2、配置action
1、无依赖创建方式
action类
struts.xml配置
在浏览器中我们想请求到这个action 只需要我们name设置的值+.action 例如“index.action” 即可请求到这个action。class是这个action对应的Java类。也就是说我们请求到这个action所访问的java类,method是指定我们访问哪一个方法。result是代表我们返回所做的操作,里面有 name和 type两个属性。
2、type代表我们跳至目标的类型
type常用属性值
dispatcher (默认)转发:以转发的方式跳至目标页面
redirect 重定向:以重定向的方式跳至目标页面
chain:将action的带着原来的状态请求转发到新的action
redirect-action:重定向到另一个Action,参数与chain用法相同,允许将原Action中的属性指定新名称带入新Action 中,可以在Result标签中添加 <param name="b”>${a} </param>,这表示原Action中的变量a的值被转给b,下一个Action可以在值栈中使用b来操作,注意如果值是中文,需要做一些编码处理,因为Tomcat默认是不支持URL直接传递中文的!
2、继承ActionSupport重写execute方法
action类
使用这种方式,我们的struts.xml配置可以不用method指定我们的方法,如果没有method他会自动去找execute方法struts.xml配置
好处:
1、能够使用struts预设的返回字符串,如SUCCESS,INPUT等等。
2、重写方法,更方便的实现验证、国际化等等功能。
3、与struts2的功能结合紧密,方便开发。
3、Action通配符"*"动态调用方法
struts.xml配置
例如、
注:因为我们本次使用的是struts2最新2.5的版本,它为了提升安全性,新增了一个<global-allowed-methods>属性,该属性的作用是指定可被调用的方法
1、 指定可以访问的方法名
如: <global-allowed-methods>login,register</global-allowed-methods> 这样就指定访问login和register方法2、然后在我们的action的name属性中设置 "前缀+*" 如 " login*" ,然后method属性值设为“{1}”
3、在浏览器中输入http://localhost:8080/项目名/login+方法名.action,即可动态访问到该方法。如 loginlogin.action
- Struts2最新版(2.5.12)快速入门(二) Struts2之Action
- Struts2最新版(2.5.12)快速入门(三) Struts2之Annotation
- Struts2最新版(2.5.12)快速入门(四) struts2之拦截器(Interceptor)
- Struts2最新版(2.5.12)快速入门(五) struts2之文件上传
- Struts2最新版(2.5.12)快速入门(一) 框架搭建
- Struts2 之二:Action详解
- Struts2 入门(二) 之 配置文件中的 Action 元素
- Struts2.0之Action详解(二)
- Struts2.0之Action详解(二)
- 二)实例理解struts2之action
- Struts2注解配置之@Action(二)
- Struts2注解配置之@Action(二)
- Struts2注解配置之@Action(二)
- Struts2框架学习之二:action详解
- Struts2注解配置之@Action(二)
- Struts2注解配置之@Action(二)
- 2-struts2入门-action
- struts2 action(二)
- 【NOIP2011PJ】瑞士轮
- Scrapy--安装
- Virtual Disk 项目总结
- 史上最简短Git与Github使用说明 小白与女友分分钟学会
- js高级程序设计(第三版)第四章
- Struts2最新版(2.5.12)快速入门(二) Struts2之Action
- Oracle 使用analyze分析索引碎片
- 7.Score
- 【Spark】-- 交互式 shell
- 美国交通标志必知
- java网络编程学习之——构建基于多线程的网络通信模型1
- 无法访问 MemoryStream 的内部缓冲区
- Python--UDP时间服务器
- [LintCode]Remove Element(Python)