您的位置:首页 > 编程语言 > Java开发

Struts2 注解配置Action(十九)

2017-03-27 10:58 330 查看
1.注解类型 struts2 < 2.1.3

在Struts2注解核心包的struts-Codebehind -Plugin.jar包中,Strut2框架定义了一些与Action配置相关的注解类型。这些注解类型如下:


ParentPackage注解,用户指定Action所在的包要继承的父包

参数数据类型可选默认值说明
valueString指定要继承的包
例如,使用ParentPackage 注解 其value的值为default-struts,表示所在的Actino需要继承default-struts包,如下:

@ParentPackage(value="default-struts")

Namespace注解用户指定action所属于的命名空间

参数数据类型可选默认值说明
valueString指定Action所属于的命名空间
例如。使用Namespace注解,其valus值为/myspace,表示Action属于myspace命名空间,如下

@Namespace("/myspace")

Result注解用于定义一个Result映射(只能定义一个结果映射)

参数数据类型可选默认值说明
NameStringAction.SUCCESS指定result的逻辑名,即结果代码
valueString指定result对应资源的URL
typeClassNullResult.class指定result的类型
ParamString[]{}为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映射

参数数据类型可选默认值说明
valueResulp[]为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包的继承。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: