首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

8.struts2兑现零配置-annotation配置

2012-11-19 
8.struts2实现零配置---annotation配置关于struts2使用配置文件的配置方式,前面已经说过了,大家应该很熟悉

8.struts2实现零配置---annotation配置
关于struts2使用配置文件的配置方式,前面已经说过了,大家应该很熟悉了,使用配置文件的方式进行配置,虽然简单易配,但是随着项目的扩大,配置文件会越来越多,这样就会变的凌乱,繁杂,所以今天给大家说一下struts2基于annotation的配置,也就是平常我们所说的零配置。

/*要实现零配置,首先必须要导入jar包,struts2-convention-plugin-2.3.1.2.jar,然后大家知道要实现零配置肯定要遵守约定,现在的这些ssh框架,都是约定大于配置的。1>包名:包名必须是xx.xx.action(actions, struts, struts2)这种形式。2>类名:你的aciton类名必须是XxxAction形式,比如下面的UserAction3>请求名:按照上面的约定写好包名和类名后,那么你的默认请求名就为xxx.action(XxxAction的首字母小写,并去掉Action,然后加上.action),比如说下面的UserAction默认请求名就为user.action,,当然了这是针对execute()方法的。4>请求页面:必须要在项目的/WEB-INF/下面新建一个content文件夹,路径也就是/WEB-INF/content,然后页面名字为:请求名-返回值.jsp ,比如说user.action的execute()方法返回值为success,那么它的请求页面为:user-success.jsp,如果返回值为input,那么请求页面名字为:user-input.jsp.*/public class UserAction {        public String execute() {       return "success";    }    public String login() {       return "input";    }}/*


通过上面的约定进行配置后,细心的友友可能会发现,那么我想请求UserAction里面的login()方法怎么办呢?是的,这些零配置都是针对execute()方法的,如果我们要想针对其他方法,就必须要写annotation了。

public class UserAction {        @Action("index")    public String execute() {       return "success";    }    @Action(value="login",results={    @Result=(name="input",location="xxx.jsp", type="xxx",params={key,value,key,value},interceptorRefs={@InterceptorRef=(param="xxx")})    })    public String login() {       return "input";    }}/*@Action()括号里面如果只有一个参数配置,那么就可以把@Action(value=“xxx”),简写成@Action("xxx"),如果有多个参数,那么就不能简写了。就需要像login()方法上面的格式进行编写。1>results:里面可以写多个@Result()只要中间以逗号隔开即可:results={@Result(),@Result()},另外results也可以写在public class UserAction的头上,格式为:@Results({@Result=(),@Result=()});2>name:name和xml配置文件里意思一样3>location:需要跳转的页面4>type:跳转方式5>params:参数配置,格式为:奇数为key,偶数为value6>interceptorRefs:拦截器配置,配置多个也要以逗号分割开来(和results一样,也是可以写在public class UserAction的头上的,格式也是一样的)*/
1 楼 canuo 2012-05-06   求helloword!

热点排行