这个时候,如果有人希望自己写一个xml配置文件,该文件中新增一部分原来没有的action实现功能的扩展。
那么我们就新增一个叫做kewen.xml的配置文件,里面写上新增的一部分action
原有的xwork.xml中只需要这样实现
<include file="workflow-default.xml" /> <include file="kewen.xml" /> <package name="default" extends="workflow-default" namespace=""> <action name="hollyShit" class="NeverMore" />
将新加的xml配置文件include进来。
这时hollyShit的实现类为:
public class NeverMore { public void holly() { System.out.println( "Your soul is mine!" ); } }
但是如果我希望不修改原来调用action的代码,但是实现不同逻辑,同时保存原有逻辑备用,那么就可以这样实现:
在新的kewen.xml文件头部 package定义中这样写
<package name="new" extends="default" namespace=""> <action name="hollyShit" class="Pudge" />
pudge类:
public class pudge { public void holly() { System.out.println( "Fresh meat" ); } }
这个时候,调用到hollyShit的Action将执行kewen.xml中定义的实现类
总结:
其实可以这样理解,我原有的相当于父类,有一个hollyShit的方法。后来我又写了一个继承自父类的子类,我的子类也有一个同名方法,那么相当于我重写了父类的hollyShit方法,这时候当然执行的是子类的实现