除了使用配置文件配置之外,还可以使用注解来配置
下面是一些常用的注解
介绍:
@Action/@Actions:
@Action指定一个类为action,对应配置文件中的....标签,其中可以配置如下属性
results:配置返回的结果集属性,相当于struts2中的列表,可以在{}中配置属性,具体如下value:配置action的名字,相当于中的name属性interceptorRefs:配置拦截器 @Action可以定义在类上,也可以定义在方法上 如下(@Result的作用后面讲,也可以和后面的配合着看)
1
2
3
4
5
6
7
8
|
@Action
(value =
"testAction"
,results = {
@Result
(name=
"success"
,location=
"/success.jsp"
)})
public
class
testAction
extends
ActionSupport {
@Override
public
String execute()
throws
Exception {
return
SUCCESS;
}
}
|
1
2
3
|
<result name=
"success"
>/success.jsp</result>
</action>
|
也可以使用@Actions来指定多个action映射,这样可以做到一个类对应多个地址映射,如下
1
2
3
4
5
6
7
8
9
10
11
|
@Actions
({
@Action
(value =
"testAction"
,results = {
@Result
(location=
"/success.jsp"
)}),
@Action
(value =
"testAction2"
,results = {
@Result
(location=
"/success.jsp"
)})
})
public
class
testAction
extends
ActionSupport {
@Override
public
String execute()
throws
Exception {
return
SUCCESS;
}
}
|
在xml配置中,我们有如下的配置方法
1
2
3
|
<result name=
"{1}"
>/{
1
}.jsp</result>
</action>
|
1
2
3
4
5
6
7
8
9
10
|
public
class
testAction
extends
ActionSupport {
@Action
(value =
"add"
,results = {
@Result
(name=
"add"
,location=
"/add.jsp"
)})
public
String add()
throws
Exception {
return
"add"
;
}
@Action
(value =
"delete"
,results = {
@Result
(name=
"delete"
,location=
"/delete.jsp"
)})
public
String delete()
throws
Exception {
return
"delete"
;
}
}
|
@Result/@Results:
@Result配置具体返回结果,在results中使用,也可以单独在类上使用,有如下属性
name:对应中的name属性location:对应间的地址type:对应的type属性 @Result可以在类上声明,也可以和Action配置声明,如果在类上声明,那么就是全局的结果,如下
1
2
3
4
5
6
7
8
9
10
11
12
|
@Result
(name=
"delete"
,location =
"/delete.jsp"
)
public
class
testAction
extends
ActionSupport {
@Action
(value =
"add"
, results = {
@Result
(name =
"add"
, location =
"/add.jsp"
) })
public
String add()
throws
Exception {
return
"add"
;
}
@Action
(value =
"delete"
)
public
String delete()
throws
Exception {
return
"delete"
;
}
}
|
@Results是用来声明多个结果集,用法和@Actions类似,这里就不再详述