`
javafenger
  • 浏览: 246672 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

XDoclet简化Struts开发

阅读更多

Struts是一个Web开发框架,是用Struts避免了简单的JSP + Servlet开发过程,维护过程中的一系列问题,但是struts配置文件的编辑始终是一个问题。下面我们使用Xdoclet来自动生成struts配置文件。Xdoclet是一个使用Java代码中的注释来生成接口文件,或者配置文件的开源工具。

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"></shapetype><stroke joinstyle="miter"></stroke><formulas></formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f><lock v:ext="edit" aspectratio="t"></lock><shape id="_x0000_i1025" type="#_x0000_t75" o:borderrightcolor="this" o:borderbottomcolor="this" o:borderleftcolor="this" o:bordertopcolor="this"></shape><imagedata src="file:///C:/DOCUME~1/mazhao/LOCALS~1/Temp/msoclip1/01/clip_image001.jpg" o:title="struts-dispatch-dia"></imagedata><bordertop type="single" width="4"></bordertop><borderleft type="single" width="4"></borderleft><borderbottom type="single" width="4"></borderbottom><borderright type="single" width="4"></borderright>

所有得Struts的各组件关系如上所示,其中有两个主要类,DispatchAction和DispatchValueBean。DispatchAction从上个页面获得输入,根据输入定位到不同的页面(0定位到dispatch_0.jsp,1定位dispatch_1.jsp)。

可以看看下列代码(只涉及到Xdoclet相关的部分):

//DispatchValueBean.java

/**

 *

 * @author mazhao

 * @struts.form

 *    name="DispatchValueBean"

 */

public class DispatchValueBean extends org.apache.struts.action.ActionForm {

 

    private String dispatchValue = "0";

    public DispatchValueBean () {

    }

 

    public String getDispatchValue()

    {

        return dispatchValue;

    }

    public void setDispatchValue(String dispatchValue)

    {

        this.dispatchValue = dispatchValue;

    }

}

上述的蓝色代码表示自己是一个FormBean,且FormBean的名字是DispatchValueBean。

 

//DispatchAction.java

/**

 *

 * @author mazhao

 * @struts.action

 *   name="DispatchValueBean"

 *   path="/DispatchAction.do"

 *   input="/index.jsp"

 *

 * @struts.action-forward

 *   name="dispatch_0"

 *   path="/dispatch_0.jsp"

 *   redirect="false"

 *

 * @struts.action-forward

 *   name="dispatch_1"

 *   path="/dispatch_1.jsp"

 *   redirect="false"

 *

 */

public class DispatchAction extends org.apache.struts.action.Action {

   

    private String dispatchValue = "0";

   

   

    public DispatchAction() {

    }

   

    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

        DispatchValueBean dispatchBean = (DispatchValueBean)form;

        String value = dispatchBean.getDispatchValue();

        if("0".equals(value))

        {

            return mapping.findForward("dispatch_0");

        }

        else

        {

            return mapping.findForward("dispatch_1");

        }

    }

 

    public String getDispatchValue()

    {

        return dispatchValue;

    }

    public void setDispatchValue(String dispatchValue)

    {

        this.dispatchValue = dispatchValue;

    }

}

上述的蓝色代码说明该Action所使用的FormBean,输入页面,path和不同的ActionForward。

根据如上的代码可以使用如下的build文件来自动生成struts-config.xml:

<!—- 将xdoclet的jar文件包含到编译路径中 -->

<path id="compile.classpath">

<fileset dir="${xdoclet.dir}">

<include name="*.jar"/>

</fileset>

</path>

 

<!—-定义子定义的任务标签 -->

<taskdef

name="webdoclet"

classname="xdoclet.modules.web.WebDocletTask"

classpathref="compile.classpath"

        />

 

<!—使用自定义的任务标签生成struts-config.xml文件-->

<target

name="webdoclet"

depends="prepare"

description="Generate deployment descriptors (run actionform to generate forms first)">        <echo>+---------------------------------------------------+</echo>

<echo>|                                                            |</echo>

<echo>| R U N N I N G   W E B D O C L E T                     |</echo>

<echo>|                                                                 |</echo>

<echo>+---------------------------------------------------+</echo>

<webdoclet

destdir="ant"

mergedir="ant/merge"

       verbose="false"

>

<fileset dir="JavaSource">

                             <include name="**/*Action.java"/>

                              <include name="**/*Bean.java"/>

</fileset>

                      <strutsconfigxml

                             destdir="ant"

                              />

</webdoclet>

</target>

建议在详细设计阶段使用这种方式生成代码框架和struts-config.xml配置文件。

 

分享到:
评论

相关推荐

    struts+hibernate+spring+xdoclet+ant+log4j

    Struts、Hibernate、Spring、XDoclet、Ant和Log4j是Java开发中常见的六个重要组件,它们在企业级应用开发中发挥着关键作用。这些技术的整合为开发者提供了高效、灵活和可维护的解决方案。 **Struts** 是一个基于MVC...

    xdoclet-bin-1.2.1.zip和xdoclet-bin-1.2.3.zip

    总的来说,XDoclet是Java开发中的一个重要辅助工具,它通过注释驱动的方式简化了框架配置的创建,使得开发人员能够更专注于业务逻辑,而不是繁琐的手动配置。这两个版本的压缩包提供了不同版本的XDoclet,适用于不同...

    XDoclet1.2+XDoclet教程

    XDoclet是一款强大的Java代码生成工具,它通过解析Java源代码中的特定注解(annotations),自动生成各种元数据,如EJB组件接口、...通过阅读这些文档,你可以深入了解如何利用XDoclet 1.2来简化Java应用的开发工作。

    XDoclet Api

    总结,XDoclet API是一个强大的工具,能够简化Java开发过程中的元数据生成任务,提高开发效率,减少错误。通过理解并熟练运用其提供的标签和功能,开发者可以更加专注于业务逻辑,而将繁琐的配置工作交给XDoclet自动...

    xdoclet应用

    总结,xdoclet是Java开发中的一个强大工具,通过解析Javadoc注释生成代码和配置文件,简化了开发过程,提升了开发效率。虽然现代Java已有其他替代方案,但对老项目或有特定需求的项目,xdoclet仍然具有不可忽视的...

    xdoclet-plugins-1.0.3

    "xdoclet-plugins-1.0.3"是一个专门针对OA(Office Automation)安全模块的插件版本,它极大地简化了开发流程,提高了开发效率。 首先,我们来深入了解一下XDoclet。XDoclet是基于Javadoc注释的元数据框架,它能够...

    xdoclet-plugins-1.0.3.tar.gz

    5. **Struts插件**:对于基于Struts的MVC应用,XDoclet可以自动生成ActionForm、Action、Forward等配置。 6. **Spring插件**:虽然Spring提倡的是“零配置”,但在早期版本,XDoclet也可以生成Spring的bean配置文件...

    xdoclet 1.2.3

    1. **EJB支持**:xdoclet最初是为了简化Enterprise JavaBeans(EJB)的开发而设计的。在1.2.3版本中,它可能提供了更完善的EJB 2.x支持,包括自动生成ejb-jar.xml、home接口、remote接口、entity beans、session ...

    xdoclet-plugins-1.0.3.rar

    尽管现在Spring提供了更强大的基于注解的配置,但在早期,XDoclet的插件可以帮助简化XML配置。 7. 其他插件:此外,XDoclet还支持其他框架,如JTA、JPA等,提供了丰富的插件选择。 然而,随着时间的推移,Java社区...

    xdoclet_appfuse打包

    AppFuse是一个开源项目,它提供了一个快速开发Java Web应用的基础框架,整合了许多流行的开源组件,如Spring、Hibernate、Struts等,旨在简化开发过程并提高开发效率。它采用模块化设计,允许开发者根据需求选择合适...

    JavaWeb 开发指南 PPT课件

    网站开发指南 清华大学出版社 1章 JSP技术简介 2章 JSP语法 3章 JSP内置对象 4章 Servlet技术介绍 5章 JavaBean与JSP技术 6章 JSP文件操作 ...24章 使用XDoclet简化JSP 25章 使用Ant管理JSP Web应用

    struts+spring+hibernate整合办公OA系统全套视频下载地址

    **Spring** 是一个开源的轻量级Java EE应用开发框架,它的目标是简化企业级应用的开发过程。Spring框架提供了一个全面的编程模型,支持多种服务层组件。 #### Spring框架的主要特性包括: - **依赖注入 (DI)**:...

    Struts2-Spring-Hibernate的整合.doc

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责应用...整合SSH框架能提高开发效率,同时通过Spring的管理,可以更好地实现解耦和控制反转,而Hibernate则简化了数据库操作,提高了开发的便捷性。

    first_steps_with_struts_en.pdf(英文)

    它遵循 Model-View-Controller (MVC) 架构模式,简化了 Web 应用程序的开发和维护过程。 #### 准备工作 - **作者**:Sascha Wolski - **网站**:[http://www.laliluna.de/tutorial.html]...

    SSH简易开发指南

    这三种技术分别解决了Web应用程序中的不同层面问题:Spring负责业务逻辑层的管理与控制反转(IoC),Struts处理MVC架构中的控制器部分,而Hibernate则作为对象关系映射(ORM)工具,用于简化数据库操作。 #### 描述...

    Spring In Action中文 第八部分

    Spring大大简化了使用接口开发的复杂性,并且加快和简化了应用系统的开发。使用简单JavaBean就可以得到EJB的强大功能。 本书介绍了Spring背后的原理,引领你迅速进入对框架的体验之中。结合简短代码片断和贯穿...

    J2EE开发中减少编写代码工作量的几种方法

    利用注解和XDoclet #### Java EE 5与注解 自Java EE 5开始,标准库引入了对注解的支持,这极大地简化了配置管理,减少了大量的XML配置文件编写。通过在类或方法上使用注解,可以声明性地指定组件的行为,如事务...

    AppFuse

    该工具包由Matt Raible创建,他在网络开发领域拥有丰富的经验,并且是多个开源项目的贡献者,包括Roller Weblogger、XDoclet、StrutsMenu、DisplayTag等。此外,他还参与了J2EE 5.0和JSF 1.2标准的制定,并撰写了...

    J2EE应用开发基础

    ### J2EE应用开发基础知识点概述 #### Java编程语言 ...通过上述内容的学习,读者可以对J2EE应用开发的基础知识有一个全面的了解,并掌握使用Java、JSP、Struts和Hibernate等技术进行企业级应用开发的基本技能。

Global site tag (gtag.js) - Google Analytics