版本:Struts 2.0.6

struts.xml
<package name="default" extends="struts-default">
...
</package>

<include file="struts-admin.xml"/>


struts-admin.xml
<package name="admin" namespace="/admin" extends="default">
...
</package>


www2 中完全没有问题的package继承配置,在 Struts 2.0.6 中如法炮制,启动时始终报错:
ERROR [resin-tcp-connection-*:80-5] - Unable to find parent package default
ERROR [resin-tcp-connection-*:80-5] - Unable to find parent packages default

导致 struts-admin.xml 中的所有action配置都不能生效。

反反复复查阅 struts2 的文档,始终不得其解。 ww2 -> struts2 的移植说明中,也没有提到过
这样的问题。 后来还是用 google 搜到了 apache 的 bug report,才知道确实是个bug,2.0.6
确确实实就是有package继承不能正常作用的bug。 真是郁闷之极,package继承应该是 xwork 配置
里面最基本的支持吧。庆幸的是,2.0.8 已经 fix 了,不然我还真不知道把所有的 action 配置都堆
在一个 package 里面是何其壮观。

https://issues.apache.org/struts/browse/WW-1635


struts2 到 2.0.6 都有这样的 bug,而且所有中文文档都找不到关于这个BUG
的说明,哪怕问题都没找到有人提过。 我实在怀疑 struts2 到目前为止的普及率,甚至 struts2 的
可用性。 是否还有其他一些低级的 BUG 尚未发现?
评论
weishuwei 2007-06-14
再补充一句吧,xwork的解析是自上而下的,注意这一点就ok了
weishuwei 2007-06-14
<package>和<include>并没有先后顺序,但是在xwork配置中,你如果要继承某一配置,必须先include它,才能继承.
比如:
<package name="default" extends="struts-default">,那么你必须在该<package>声明前<include>要继承的xml文件.
jason823 2007-06-14
建议xwork.xml中只Include进来各个模块的配置文件,如果可以最好不要有额外的Package
quaff 2007-06-14
rasonyang 写道
建议最好使用Struts 2.0.8,包含XWork 2.0.3,已经非常稳定了。
BUG很少。
非Maven用户可以从http://repo1.maven.org/maven2/org/apache/struts/struts2-core/2.0.8/
下载。

xwork2.0.3的CreateIfNull不起作用,有兴趣的可以测试一下
Readonly 2007-06-14
totobacoo 写道

确实是这个样子的。但是 xwork.xml 里面的 packge 在我来讲是必需的,需要自定义我的 basicStack 以及覆盖缺省 result type 之类的全局工作。 然后才是 include 其他模块配置。 所以 package 和 include 混用是很难避免的

把你的default放到xxx-default.xml里面,不就可以了么?
<include file="xxx-default.xml"/>    
<include file="struts-admin.xml"/>  
totobacoo 2007-06-14
Readonly 写道
是xwork解析的bug:http://jira.opensymphony.com/browse/XW-493
临时的解决方法是调换include和package的顺序。

实际应用中,是在xwork.xml里面include了N个文件,而不是混用package和include,所以很少有机会发现这个bug



确实是这个样子的。但是 xwork.xml 里面的 packge 在我来讲是必需的,需要自定义我的 basicStack 以及覆盖缺省 result type 之类的全局工作。 然后才是 include 其他模块配置。 所以 package 和 include 混用是很难避免的
movingboy 2007-06-14
totobacoo 写道
我实在怀疑 struts2 到目前为止的普及率,甚至 struts2 的
可用性。 是否还有其他一些低级的 BUG 尚未发现?

不管怎么样,连WebWork的开发团队都合并到Struts 2中了,Struts 2才是方向
我认为WebWork的后续版本只是维护,不会再增强了;而Struts 2开始的几个小版本可能是不太稳定,估计下一个GA会很不错~~~
movingboy 2007-06-14
rasonyang 写道
建议最好使用Struts 2.0.8,包含XWork 2.0.3,已经非常稳定了。
BUG很少。
非Maven用户可以从http://repo1.maven.org/maven2/org/apache/struts/struts2-core/2.0.8/
下载。


记得Struts 2.0.6相当于WebWork 2.2.3,而WebWork的最新版是2.2.5了,不知道Struts 2.0.8有没有同步WebWork的这些更新?
rasonyang 2007-06-14
建议最好使用Struts 2.0.8,包含XWork 2.0.3,已经非常稳定了。
BUG很少。
非Maven用户可以从http://repo1.maven.org/maven2/org/apache/struts/struts2-core/2.0.8/
下载。
Readonly 2007-06-14
是xwork解析的bug:http://jira.opensymphony.com/browse/XW-493
临时的解决方法是调换include和package的顺序。

实际应用中,是在xwork.xml里面include了N个文件,而不是混用package和include,所以很少有机会发现这个bug
able 2007-06-14
我也用的是2.06并没有你描述的这个bug!!
totobacoo
搜索本博客
博客分类
最近加入圈子
最新评论