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形式,比如下面的UserAction
3>请求名:按照上面的约定写好包名和类名后,那么你的默认请求名就为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,偶数为value
6>interceptorRefs:拦截器配置,配置多个也要以逗号分割开来(和results一样,也是可以写在public class UserAction的头上的,格式也是一样的)
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值