struts2 多个pACkAgE问题

package提供了将多个Action组织为一个模块的方式package的名字必须是唯一的 package可以扩展 当一个package扩展自另一个package时该package会在本身配置的基础上加入扩展的package的配置 父package必须在子package前配置name:package名称extends:继承的父package名称abstract:设置package的属性为抽象的 抽象的package不能定义action 值true:false

针对上一位回答者,补充一点;你引用多个struts配置文件时,package的name不能有重复!我是指所有的配置文件为这个name的有效范围!

如果没记错的话你这个拦截到的应该是/a下面所有的.还有你的struts里有几个package,多个的话也许会出问题.

你说的是package的继承是吧.一般都是继承struts-default的.你也可以这样做.package name="a" extends="struts-default",package name="b" extends="a",package name="c" extends="b"这不就实现了多继承了.你说的那种extends多个包,没见过.按照java的单继承原则,应该不可以吧.

配置 name属性分开

没有问题的.只要不重名,不管你是基于约定还是基于配置都没有问题.

这个是可以的.例如<package name="" extends="json-default,struts-default">这样继承 要确保 父 包,里面不能有重复的 action名,要不然,子包不知道 调用那个.

在大部分应用里,随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿.为了避免struts.xml文件过于庞大、臃肿,提高struts.xml文件的可读性,可以将一个struts.xml配置文件分解成多个配置文件,然后

<package name="corp" namespace="/corp" extends="struts-default"> <action name="*-corp" class="corpBaseInfoAction" method="{1}"> <result>index.jsp</result>//要跳转的页面(可根据实际情况) </action> </package>从login

struts2中的package和namespace都是借鉴了Java ee里类管理方式,便于配置文件的管理.struts2中子包可以继承父包的.并且拥有它全部的功能跟类的继承一样.

相关文档

电脑版