1.注解类型 struts2 < 2.1.3
Java代码
- 在Struts2注解核心包的struts-Codebehind -Plugin.jar包中,Strut2框架定义了一些与Action配置相关的注解类型。这些注解类型如下:
ParentPackage注解,用户指定Action所在的包要继承的父包
参数 | 数据类型 | 可选 | 默认值 | 说明 |
value | String | 否 | 无 | 指定要继承的包 |
例如,使用ParentPackage 注解 其value的值为default-struts,表示所在的Actino需要继承default-struts包,如下:
@ParentPackage(value="default-struts")
Namespace注解用户指定action所属于的命名空间
参数 | 数据类型 | 可选 | 默认值 | 说明 |
value | String | 否 | 无 | 指定Action所属于的命名空间 |
例如。使用Namespace注解,其valus值为/myspace,表示Action属于myspace命名空间,如下
@Namespace("/myspace")
Result注解用于定义一个Result映射(只能定义一个结果映射)
参数 | 数据类型 | 可选 | 默认值 | 说明 |
Name | String | 是 | Action.SUCCESS | 指定result的逻辑名,即结果代码 |
value | String | 否 | 无 | 指定result对应资源的URL |
type | Class | 是 | NullResult.class | 指定result的类型 |
Param | String[] | 是 | {} | 为result传递参数,格式为{keyi1,value1,key2,value2} |
例如。使用Result注解,定义返回结果的逻辑名称为register;对应的结果资源URL为/register.jsp param 参数使用默认值,即{} 表示放回结果好带有参数。type参数值为默认结果类型。如下:
Java代码
- package action;
- @Result(name="register",value="/register.jsp",param={},type=ServletDispatcherResult.class)
- public class Register{
- public String execute(){
- return SUCCESS;
- }
- }
Results注解用于定义一组Result映射
参数 | 数据类型 | 可选 | 默认值 | 说明 |
value | Resulp[] | 否 | 无 | 为action定义一组Result映射 |
例如:
Java代码
- package action;
- @Results({
- @Result(name="logig",value="/login.jsp"),
- @Result(name="register",value="/register.jsp",type="ServletDispatcherResult.class")
- })
- public class Register{
- public String execute(){
- return SUCCESS;
- }
- }
注意事项:
1.在web.xml中配置FilterDispatcher过滤器,为该过滤器设置actionPackages参数,该参数指定包含Action类的包的列表。
Xml代码
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
- <init-param>
- <param-name>actionPackage</param-name>
- <param-value>org.apache.struts2.showcase.person</param-value>
- </init-param>
- <!--下面设置action包参数--->
- <init-param>
- <param-name>actionPackages</param-name>
- <!--多个之间 用 逗号隔开--->
- <param-value>org.huizhi.struts.action , org.wuh.struts.action</param-value>
- <init-param>
- </filter>
2.与Action配置相关的4个注解都只能应用在类级别上。
3.如果选用继承struts-default包,则不需要使用ParentPackage注解。Struts2框架可以自动实现对struts-default包的继承。