Struts2 注解配置Action(十九)

1.注解类型 struts2 < 2.1.3
  在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参数值为默认结果类型。如下:
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映射

例如:

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类的包的列表。
 <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包的继承。

你可能感兴趣的:(namespace,result,results,ParentPackage)