`
kewen342757003
  • 浏览: 144691 次
社区版块
存档分类
最新评论

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方法,这时候当然执行的是子类的实现
分享到:
评论

相关推荐

    Action的常用配置

    当应用变得复杂,Action数量增多时,可以将一个大的struts.xml拆分成多个小的配置文件,比如struts-mod1.xml,然后在主配置文件struts.xml中使用`&lt;include&gt;`标签来包含这些分模块的配置,这样可以实现配置文件的模块...

    Struts2基础面试题

    - 局部配置:通过与Action类同名的配置文件(例如`MyAction-conversion.properties`)进行,位于Action类相同的目录下。 #### 7. 输入校验 - **校验方式**:在Struts2中,输入校验通常通过继承`ActionSupport`类...

    struts2总结

    - **XML配置文件验证**:可以在与Action同名的`validation.xml`文件中定义验证规则。 - **模型驱动的验证**:当Action实现了`ModelDriven`接口时,可以利用该接口提供的模型对象进行数据验证。 4. **拦截器的定制...

    开发的包个人使用

    - **配置文件**:除了`struts.xml`之外,还可以使用其他配置文件如`xwork-conversion.properties`来进一步定制框架的行为,如类型转换规则。 通过上述知识点,我们可以看到Struts 2框架在Java Web开发中的强大功能...

    struts2框架的搭建与程序

    `namespace`属性定义了该包的命名空间,用于区分不同包下的同名Action。默认情况下,命名空间为空字符串。 综上所述,Struts2框架的搭建与配置相对简单明了,通过遵循上述步骤,开发者可以快速地搭建起一个基本的...

    struts2例子

    Action类需要继承自`com.opensymphony.xwork2.ActionSupport`或其子类,并通过注解或配置文件来定义映射。 配置文件通常是`struts.xml`,在这里你可以声明Action类、Action方法以及它们与URL的映射关系。例如: ``...

    Struts2的拦截器

    在配置文件中,通过`&lt;default-interceptor-stack&gt;`和`&lt;interceptor-stack&gt;`元素来定义拦截器栈,以及通过`&lt;interceptor-ref&gt;`元素来引用具体的拦截器。 #### 总结 Struts2的拦截器机制极大地提高了代码的复用性...

    简单的struts2小程序

    这个表单使用Struts2的标签,将输入的`scheduleName`字段绑定到Action中的同名属性,并通过点击“提交”按钮调用Action的`execute()`方法。 总结来说,"简单的Struts2小程序"涵盖了Struts2框架的基础元素:Action类...

    struts2学习笔记

    如果没有在Action配置中指定`class`属性,那么Struts2会默认使用`com.opensymphony.xwork.ActionSupport`类。这个类包含了`input`和`execute`两个方法,它们分别返回`INPUT`和`SUCCESS`,决定请求的流向。如果Action...

    struts2 接收参数

    通过注解或配置文件,我们可以将HTTP请求参数绑定到Action类的属性上。例如,如果有一个名为`username`的参数,我们可以创建一个同名的Action类属性: ```java public class LoginAction { private String ...

    ssh三大框架连用所需要的jar包

    8. **antlr.jar**:语法分析工具,与Hibernate中的antlr.jar相同,可能用于解析配置文件等。 #### Struts 2.1.6 所需JAR包 1. **struts2-core.jar**:Struts 2框架的核心库。 2. **xwork.jar**:Struts 2的Action...

    struts2-处理类型转换

    若需自定义错误信息,可以在Action所在目录下创建与Action同名的properties文件,例如PersonAction.properties,并在其中指定错误信息,如:`invalid.fieldvalue.person=无法把表单参数转换成 Person 类型`。...

    struts2例子.doc

    在`WebRoot`目录下创建同名的`example`文件夹,用于存放JSP页面和其他资源文件。 #### 编码实践:页面设计与交互 在实例中,我们设计了两个JSP页面:`Welcome.jsp`和`Login.jsp`。`Welcome.jsp`作为欢迎页面,包含...

Global site tag (gtag.js) - Google Analytics