Struts2框架的struts.xml配置文件的所有可配置内容详解

本文详细解析了Struts2框架中struts.xml配置文件的内容,包括包和命名空间的配置,Action的基本配置,如何配置默认action,处理结果的配置以及异常处理机制。重点介绍了namespace、action的name、class、method属性,结果映射和异常映射的全局与局部配置,以及结果监听器的添加。
摘要由CSDN通过智能技术生成

1、包和命名空间

  • 用<package…/>元素配置包,其子元素<action…/>配置action;
  • <package…/>元素共有4个属性:
    (1) name:仅仅起到一个表识作用,相当于id,不会影响其内action的访问地址。
    (2) extends:其值为其他包的name属性值,表示继承其他的包。可以继承其他包中的action定义、拦截器定义等。因为Struts2的配置文件是由上到下处理的,因此,父包必须在子包的前面定义;
    (3) namespace:为当前包指定一个名称空间,目的是防止出现多个action同名而引起二义性的情况。会影响包内action的访问地址;
    (4) abstract:用于指定该包是否为抽象包,若为抽象包,则不能定义action,但可定义其他的东西,如:拦截器。struts-default包就是一个抽象包;
  • 关于名称空间:
    (1) 如果没有指定namespace属性,则代表该包下的action处于默认名称空间下;
    (2) 名称空间会影响其包下action的访问地址。当指定了某个名称空间后,该包下的action的访问地址就是:名称空间+action名;
    (3) 在URL指定的名称空间下找不到相应的action时,就到默认名称空间下找,还找不到就是系统出错。
    (4) namespace="/",表示该包下的action都处于跟名称空间下。Struts2的名称空间是不分级的,跟名称空间于其他任何名称空间(默认的除外)除访问时的URL不同之外,没有其他任何区别;

2、Action的基本配置

  • struts.xml主要是要做两件核心的事情:① 将不同的URL映射到不同的action,② 将action返回的逻辑视图名映射到相应的物理视图资源;
  • 使用<action…/>元素来配置action,<action…/>元素可配置的属性共有三个:
    (1) name: 指定action的名字,实际上就是制定了该action所要处理的URL(如果URL有.action后缀,则Strurs2会将其去掉后再匹配)。为避免歧义,name属性值最好不要包含“/”,如果确实需要包含“/”,就使用全局变量struts.enable.SlashesInActionNames指定可以包含。
    (2) class: 指定该action对应的类。也可不指定该属性,这回使用默认类来处理请求,默认的默认类是
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值