`
totobacoo
  • 浏览: 16769 次
  • 来自: K星座
文章分类
社区版块
存档分类
最新评论

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

阅读更多
版本: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 尚未发现?
分享到:
评论
11 楼 weishuwei 2007-06-14  
再补充一句吧,xwork的解析是自上而下的,注意这一点就ok了
10 楼 weishuwei 2007-06-14  
<package>和<include>并没有先后顺序,但是在xwork配置中,你如果要继承某一配置,必须先include它,才能继承.
比如:
<package name="default" extends="struts-default">,那么你必须在该<package>声明前<include>要继承的xml文件.
9 楼 jason823 2007-06-14  
建议xwork.xml中只Include进来各个模块的配置文件,如果可以最好不要有额外的Package
8 楼 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不起作用,有兴趣的可以测试一下
7 楼 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"/>  
6 楼 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 混用是很难避免的
5 楼 movingboy 2007-06-14  
totobacoo 写道
我实在怀疑 struts2 到目前为止的普及率,甚至 struts2 的
可用性。 是否还有其他一些低级的 BUG 尚未发现?

不管怎么样,连WebWork的开发团队都合并到Struts 2中了,Struts 2才是方向
我认为WebWork的后续版本只是维护,不会再增强了;而Struts 2开始的几个小版本可能是不太稳定,估计下一个GA会很不错~~~
4 楼 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的这些更新?
3 楼 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/
下载。
2 楼 Readonly 2007-06-14  
是xwork解析的bug:http://jira.opensymphony.com/browse/XW-493
临时的解决方法是调换include和package的顺序。

实际应用中,是在xwork.xml里面include了N个文件,而不是混用package和include,所以很少有机会发现这个bug
1 楼 able 2007-06-14  
我也用的是2.06并没有你描述的这个bug!!

相关推荐

    Stuts入门---------Stuts入门

    - **编写 Action 类**: 创建一个 Action 类继承自 `Action` 或 `ActionSupport` 类,并实现 `execute` 方法。 - **配置 struts-config.xml**: 在这个文件中定义 Action 映射、表单验证规则等。 - **创建视图**: 使用...

    stuts2必备jar包

    stuts2 jar包 全部,都是可以用的jar包,欢迎大家下载 stuts2 jar包 全部,都是可以用的jar包,欢迎大家下载 stuts2 jar包 全部,都是可以用的jar包,欢迎大家下载 stuts2 jar包 全部,都是可以用的jar包,欢迎大家...

    STUTS.rar_stuts

    标题中的 "STUTS.rar_stuts" 可能是一个包含 Struts 相关资料或示例项目的压缩包。这个项目可能是由开发者使用 Microsoft 的 Visual C#.Net 2005 开发的,这表明他们尝试将 Struts 的概念或类似的理念应用于 .NET ...

    Stuts框架入门

    对于Java开发的有效资料,针对Java开发中的框架技术的入门级教程。

    stuts2增删改查再送登录

    这个项目"stuts2增删改查再送登录"是基于Struts2、Hibernate和Spring三大核心技术构建的,旨在提供一个基础的CRUD(创建、读取、更新、删除)操作和用户登录功能的示例。以下将详细解析这个项目的知识点: 1. **...

    stuts2+ajax

    Struts2和Ajax是两种在Web开发中广泛使用的技术,它们的结合能够提供更高效、交互性更强的用户界面。Struts2是一个基于MVC(Model-View-Controller)架构的Java Web框架,它简化了应用程序的开发,提高了代码的可...

    stuts2搭建环境步骤

    stuts2搭建环境步骤

    Stuts常见的错误

    在实际开发过程中,Stuts可能会遇到多种常见错误,这些错误往往会影响到应用的正常运行。以下是一些关键的知识点,帮助你理解和解决Stuts中的常见问题。 1. **配置错误**:Stuts的配置文件是核心组成部分,包括...

    Stuts +Spring + Hibernate整合简单项目开发

    Demo实现了Spring 管理Stuts 和hibernate 技术(内容很简单,适合初学者)我是因为下载一个没有分了,所以上传一个简单的Demo上去。功能实现了从数据库映射出数据;供参考,含数据.sql文件;(因为spring可以管理...

    Stuts+Spring(郭克华)源码2

    "Stuts+Spring"的整合是将这两个强大的框架结合起来,以提升Java应用的开发效率和可维护性。 在这个"郭克华"的源码示例中,他提供了一种方法来集成Struts和Spring,以便在实际项目中更好地利用两者的优势。这个...

    Stuts2+Spring+JDBC的配置

    Struts2、Spring和JDBC是Java开发中常用的三大技术框架,它们的集成可以构建一个高效、可维护的Web应用程序。下面将详细讲解这三者之间的配置及其重要性。 首先,Struts2是一个基于MVC(Model-View-Controller)...

    stuts2.jar

    在给定的"stuts2.jar"压缩包中,包含了一系列与Struts2框架相关的库文件,这些文件是Struts2框架运行所必需的: 1. **xwork-core-2.1.6.jar**:这是Struts2的基础框架,包含了Action、Interceptor、结果类型和其他...

    简单的Stuts2项目

    简单的Stuts2项目,功能很好。虽然简单。但是有很多好的功能

    Stuts+Spring

    Stuts+Spring

    stuts2.2.1

    这是个stuts2.2.2.1的帮助文件

    stuts2和extjs结合实例

    - 创建`LoginAction`类,继承自`ActionSupport`。 ```java package com.isun.action; import com.isun.model.User; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ...

    stuts1和AJAX 结合

    标题与描述中提到的“stuts1和AJAX结合”是指在Struts1框架中集成AJAX技术,实现异步数据交互的过程。Struts1是Java Web开发中一个流行的MVC(Model-View-Controller)框架,而AJAX(Asynchronous JavaScript and ...

    Stuts2.2.1+hibernate3.5.2+Spring 3.0.5框架 实现了增删改查

    这个框架实现了基本的增删改查 数据库为mysql 所有jar包都全 自己手动搭的 平台是myeclipse6.0 不是很专业 但是完全能用 希望对大家有所帮助 包中数据库文件 和说明文档都全 大家可以自己看着弄

    stuts实例程序测试版

    在本例中,“stuts实例程序测试版”可能是一个电信报表系统的实验性或预发布版本,用于测试其功能和性能。 Struts框架的核心组成部分包括: 1. **ActionServlet**:这是一个扩展了Servlet的类,它是整个Struts框架...

    尚硅谷stuts2练习-converter-address

    尚硅谷stuts2练习中的自定义类型转换器练习

Global site tag (gtag.js) - Google Analytics