XDoclet简化Struts开发

原创 2005年05月30日 15:32:00

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

所有得Struts的各组件关系如上所示,其中有两个主要类,DispatchActionDispatchValueBeanDispatchAction从上个页面获得输入,根据输入定位到不同的页面(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:

<!—- xdocletjar文件包含到编译路径中 -->

<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配置文件。

XDoclet的使用攻略

XDoclet的使用攻略
  • jianxin1009
  • jianxin1009
  • 2013年08月06日 10:09
  • 3227

Xdoclet是什么?

作者:zming转载注明出处:http://blog.csdn.net/zmxj/archive/2005/06/17/396913.aspx本文的目的是让你用最短的时间了解xdoclet技术,本人并...
  • zmxj
  • zmxj
  • 2005年06月17日 18:34
  • 3726

使用MyEclipse和XDoclet开发EJB

   EJB 组件是为企业级应用设计的 java 组件模型,是基于标准分布式对象技术,提供了应用的商务逻辑部分。实现了 EJB 规范的应用服务器提供了可以解决安全性、资源共享、持续运行、并行处理、事务...
  • sophia427
  • sophia427
  • 2007年10月20日 21:42
  • 4931

Spring 是如何简化 Java 开发的?

Q:Spring 的目标是什么? 致力于全方位的简化 Java 开发。Q:为了降低 Java 开发的复杂性,Spring 采取了哪些关键策略? 基于 POJO 的轻量级和最小侵入性编程; 通过依赖注...
  • tinyDolphin
  • tinyDolphin
  • 2017年07月09日 19:04
  • 220

Eclipse使用xdoclet1.2.3 生成hibernate配置文件和映射文件

用ant和xdoclet生成hibernate配置文件可以为我们省去很多配置的操作,废话不多说,直接给栗子: eclipse:Eclipse Java EE IDE for Web Developer...
  • Unseenblade
  • Unseenblade
  • 2016年10月30日 13:20
  • 1313

如何使用XDoclet来简化EJB的开发

    根据EJB的规范,有些代码可以从Bean代码推导出来,如Home,Remote接口代码,而类似于ejb-jar.xml这样的Deployment Descriptor配置文件,如果让人手工输入...
  • omage
  • omage
  • 2010年01月17日 18:23
  • 1151

Struts 原理(二) --- 3.3 简化Struts开发

  3.3 简化Struts开发3 .3 . 1   使用动态FormBean简化开发 1 . 配置动态Form    其实就是不需要什么ActionForm了 ,首先在struts-config.x...
  • tjzero_sapce
  • tjzero_sapce
  • 2009年01月30日 17:46
  • 375

简化 Mybatis 开发

使用Mybatis开发过程中经常要花费不少时间在编写XML文件中,这里介绍Mybatis plus来简化开发提示开发速度。 1:IDEA插件mybatis plugin mybatis plugi...
  • q5330796p
  • q5330796p
  • 2017年04月26日 17:33
  • 306

XDoclet

Rick Hightower2003年8月關於本技術教學本技術教學的目的 本技術教學為 J2EE 開發人員講述如何使用 XDoclet 來加速開發。XDoclet 使用屬性導向程式化來簡化元件之間的連...
  • Tangyongkang
  • Tangyongkang
  • 2005年05月05日 20:04
  • 2225

Spring是如何简化java开发的

Spring最根本的使命就是为了简化java开发。为了降低java开发的复杂性,Spring采取了以下的4中策略: 基于POJO的轻量性和最小侵入性编程 通过依赖注入和面向接口实现松耦...
  • running_nz
  • running_nz
  • 2017年01月17日 14:54
  • 221
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XDoclet简化Struts开发
举报原因:
原因补充:

(最多只允许输入30个字)