Struts2学习之路(10)struts2注解

本文介绍如何通过注解简化Struts2框架的配置,包括引入必要的jar包、使用@ParentPackage、@Namespace等注解进行配置,并提供具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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属性
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值