论坛首页 Java企业应用论坛

郁闷的 Stuts2.0.6 的 package 继承的bug

浏览 7058 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-13  
版本: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 尚未发现?
   发表时间:2007-06-14  
我也用的是2.06并没有你描述的这个bug!!
0 请登录后投票
   发表时间:2007-06-14  
是xwork解析的bug:http://jira.opensymphony.com/browse/XW-493
临时的解决方法是调换include和package的顺序。

实际应用中,是在xwork.xml里面include了N个文件,而不是混用package和include,所以很少有机会发现这个bug
0 请登录后投票
   发表时间: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/
下载。
0 请登录后投票
   发表时间: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的这些更新?
0 请登录后投票
   发表时间:2007-06-14  
totobacoo 写道
我实在怀疑 struts2 到目前为止的普及率,甚至 struts2 的
可用性。 是否还有其他一些低级的 BUG 尚未发现?

不管怎么样,连WebWork的开发团队都合并到Struts 2中了,Struts 2才是方向
我认为WebWork的后续版本只是维护,不会再增强了;而Struts 2开始的几个小版本可能是不太稳定,估计下一个GA会很不错~~~
0 请登录后投票
   发表时间: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 混用是很难避免的
0 请登录后投票
   发表时间: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"/>  
0 请登录后投票
   发表时间: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不起作用,有兴趣的可以测试一下
0 请登录后投票
   发表时间:2007-06-14  
建议xwork.xml中只Include进来各个模块的配置文件,如果可以最好不要有额外的Package
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics