xwork配置文件: 新配置文件覆盖旧文件中的同名Action

首先我们在xwork.xml中定义了一堆action,制作了一个框架给别人使用。


这个时候,如果有人希望自己写一个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方法,这时候当然执行的是子类的实现

猜你喜欢

转载自kewen1989.iteye.com/blog/1879569