Struts2中多个Plugin的有关问题 [已解决]

Struts2中多个Plugin的问题 [已解决]
在Struts2中的某些Plugin的使用是需要继承Plugin中的struts-plugin.xml中定义的package的,比如在JsonPlugin中,如果使用就需要继承如下定义的package:json-default
<package name="json-default" extends="struts-default">
        <result-types>
            <result-type name="json" class="com.googlecode.jsonplugin.JSONResult"/>
        </result-types>
        <interceptors>
            <interceptor name="json" class="com.googlecode.jsonplugin.JSONInterceptor"/>
        </interceptors>
    </package>

如果使用AjaxFileUpload的plugin的话就需要继承如下的package:ajaxfileupload-default
<package name="ajaxfileupload-default" extends="struts-default">
	<result-types>
		<result-type name="rawtext"
			class="com.davidjc.ajaxfileupload.result.RawTextResult"/>
	</result-types>
	action name="uploadprogress"
		class="com.davidjc.ajaxfileupload.action.UploadProgress">
		<result name="success" type="rawtext"/>
	</action>
</package>

我的问题是,如果我的一个package同时需要这两个plugin的时候,我应该怎么来写我自己的package?好像没法同时继承两个吧?
1 楼 Readonly 2008-04-17  
不同的package只是提供了一些默认的result-types, inteceptors设置而已,你完全可以自己把这2个package里面的这些设置复制到你的package下。
2 楼 cscs31 2008-04-17  
Readonly那种做法,应该从代码级是可以的,但是感觉这就似乎破坏了plugin的意义,变成不可插拔的插件了,所以我觉得从架构级似乎有点问题,如果plugin出了新的版本还需要更新自己的代码,这也是个问题。
3 楼 Readonly 2008-04-17  
你不妨写一个issue给struts2开发团队,允许extends里面可以逗号分割使用多个plugin定义的package
4 楼 vip01 2008-04-18  
把action的classs配到spring里面
不用类型的action放到对应的package下
这样一个action可以用不同的名字发布在多个package下
5 楼 cscs31 2008-04-20  
研究了源代码,分析结果在我的Blog里
http://hi.baidu.com/chinastruts/blog/item/aaf06e0e73c374e237d12260.html
6 楼 movingboy 2008-04-21  
Readonly 写道
你不妨写一个issue给struts2开发团队,允许extends里面可以逗号分割使用多个plugin定义的package

Readonly的回复很有技巧啊~~~
7 楼 xiaohun2008 2008-04-21  
<package name="ajaxfileupload-default" extends="json-default"> 

这就行了