package 元素的所有属性及对应功能
struts2的配置元素package
package 元素的所有属性及对应功能
Attribute Required Description name yes key to for other packages to reference ---任意的包名称,用来让别的包继承是使用不能重复 extends no inherits package behavior of the package it extends -----当前包所要继承的父包,继承之后,当前包拥有父包中所定义的任意类、拦截器等 namespace no 用于区分包中相同的类,例子见下。 abstract no declares package to be abstract (no action configurations required in package)定义当前包为一个抽象的包(不能有action元素在当前包中)
<struts>
<package name="abc" extends="struts-default">
<action name="login" class="com.jpioneer.action.Login">
<result>/success.jsp</result>
</action>
<action name="login1" class="com.jpioneer.action.Login">
<result>/success.jsp</result>
</action>
</package>
<package name="abc1" extends="struts-default" namespace="/kfc">
<action name="login" class="com.jpioneer.action.Login">
<result>/aa.jsp</result>
</action>
</package>
</struts>
包abc没有填写namespace属性说明包abc为默认空间
包abc1填写namespace属性那么包abc1的空间就为/kfc
现在有两个请求,都是请求login的:
1、/工程名/login.action------这个请求abc包下的action name=login的有效
2、/工程名/kfc/login.action-----这个请求abc1包下的action name=login有效
3、/工程名/kfc/login1.action----这个请求很明显是请求abc1这个包下的信息的,但是struts在检索了abc1包下的所有action后没有检索到当前请求的login1,这时struts会检索默认空间下是否有当前请求,检查abc下发现存在login1就得到当前检索