Struts2使用注释配置Action
来源:互联网 发布:前端框架ajax取数据 编辑:程序博客网 时间:2024/04/29 01:21
Annotation是JDK5.0引入的新特性,以前学JAVA SE时没有感觉到有什么用,但是现在学到Struts2的Action配置时,才算真正体会到Annotation的用处。周所周知,要让URL映射到Action,必须在struts.xml中配置action标签,并制定result。其实这些完全可以在Action类的定义时就解决的,实现了零配置,当然这也是以维护难为代价的。
以下是我的一个实验过程,加深对Annotation的理解:
第一步、搭建环境,这里直接略过
第二步、编写页面(annotation.jsp index.jsp failure.jsp)
第三步、编写AnnotationAction
package cn.guet.hj.action;import org.apache.struts2.convention.annotation.Namespace;import org.apache.struts2.convention.annotation.ParentPackage;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;import com.opensymphony.xwork2.Action;/** * * 使用注释配置Action * */@ParentPackage("struts-default")@Namespace("/anno")@Result(name="success", location="/annotation.jsp")@Results({@Result(name="input",location="/index.jsp"),@Result(name="error",location="/failure.jsp")})public class AnnotationAction implements Action {private String info;public String getInfo() {return info;}public void setInfo(String info) {this.info = info;}public String execute() throws Exception {info = "this action is configurate by Annotation!!";return "success";}public String input()throws Exception{return INPUT;}public String error()throws Exception{return ERROR;}}
第四步、配置web.xml,将actionPackages设置为Action的包名
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>actionPackages</param-name> <param-value>cn.guet.hj.action</param-value> </init-param> </filter>
http://localhost/ActionContextTest/anno/annotation.action
http://localhost/ActionContextTest/anno/annotation!input.action
http://localhost/ActionContextTest/anno/annotation!.error.action
需要注意的地方:
1、要支持Annotation配置Action,还要导入struts2-convention-plugin-2.3.1.2.jar包
2、上面始终没有指定像struts.xml中action标签的name,这是因为将通过Action的类名来生成name,将首写字母小写并去掉后缀Action得到的annotation就是name
3、annotation.action调用默认方法execute annotation!input.action通过感叹号调用指定方法。
总结:
其实使用Annotation配置Action本质上还是与配置struts.xml一样的。
如果使用struts配置
<package name="annomationText" namespace="/anno" extends="struts-default"><action name="annotation" class="cn.guet.hj.action.AnnotationAction"><result name="annotation">/annotation.jsp</result><result name="input">/index.jsp</result> <result name="error">/failure.jsp</result></action></package>
- Struts2使用注释配置Action
- Struts2 action配置注释
- Struts2 action配置注释
- Struts2使用通配符配置action
- Struts2使用5 -- Action结果配置
- Struts2中Action配置和使用讲解
- Struts2的Action配置及使用
- struts2中使用注解配置Action
- struts2中使用注解配置Action
- Struts2配置--Action配置
- 【Struts2学习笔记】struts2.5使用通配符配置action跳转
- Struts2使用19 -- 注解配置1 -- Action注解配置
- Struts2的使用注解配置Action(零配置)
- Struts2的使用注解配置Action(零配置)
- struts2 action 配置方法
- struts2配置 action
- STRUTS2的Action配置
- Struts2 action配置方法
- 窥探 kernel,just for fun --- sys_fork,sys_vfork,sys_clone,kernel_thread
- linux通知连
- 简单区分Vmware的三种网络连接模式(bridged、NAT、host_only)
- IT公司笔试算法题
- exp/imp
- Struts2使用注释配置Action
- 二分法bsearch函数使用简单介绍
- Dictionary用法
- Linux 电源管理在ARM上的实现原理
- Flash Buider与myEclipse联合开发
- IS_ERR
- 浅谈 JAVA中静态初始化块和非静态初始化块的区别
- .net framework版本区别
- 基于Android的Linux内核的电源管理:Early Suspend