Struts2学习之路(9)struts2注解

struts2 简单注解配置可以代替struts.xml配置文件

引入支持Struts2支持注解开发jar包:

struts2-convention-plugin-2.1.8.1.jar(支持Struts2框架注解开发的jar包)

action中常用的注解:

@ParentPackage:对应xml配置文件中的package的父包,一般需要继承struts-default。

@Namespace:对应配置文件中的nameSpace,命名空间。

写在方法前边的注解:

@Action,这个注解对应节点
value(),表示action的请求名称,也就是节点中的name属性;
results(),表示action的多个result;这个属性是一个数组属性,因此可以定义多个Result;
interceptorRefs(),表示action的多个拦截器。这个属性也是一个数组属性,因此可以定义多个拦截器;
exceptionMappings(),这是异常属性,它是一个ExceptionMapping的数组属性,表示action的异常,在使用时必须引用相应的拦截器

看一下action中最常用的results中单个result注解的配置吧:

@Result,这个注解对应了节点。这个注解只能应用于action类上。这个注解中也有几个属性:
name(),表示action方法的返回值,也就是节点的name属性,默认情况下是【success】;
location(),表示view层文件即jsp,html,action文件的位置,可以是相对路径,也可以是绝对路径;
type(),是action的类型,比如redirect,不指定情况下,框架默认的是dispatcher

/*struts.xml配置如下
 * <package name="customer" extends="struts-default" namespace="/customer">
 */
@ParentPackage("struts-default")//指定父包
@Namespace("/customer")//指定命名空间
@Result(name="success",type="dispatcher",location="/WEB-INF/success.jsp")
public class CustomerAction {

    /*
     * struts.xml配置如下
     * <action name="AddCustomer" class="action.CustomerAction" method="Add" >
     *      <result name="add" type="dispatcher">/WEB-INF/add.jsp</result>
     *      <result name="success" type="dispatcher">/WEB-INF/success.jsp</result>
     * </action>
     */
    @Action(value="AddCustomer",results={
        @Result(name="add",type="dispatcher",location="/WEB-INF/add.jsp")
    })
    public String Add(){
    return "add";//对应上面的name属性
    }


}

猜你喜欢

转载自blog.csdn.net/qecode/article/details/80924514
今日推荐