Xdoclet是什么?

作者:zming
转载注明出处:http://blog.csdn.net/zmxj/archive/2005/06/17/396913.aspx

本文的目的是让你用最短的时间了解xdoclet技术,本人并未对其作深入的研究,若理解有误请指正。

      XDoclet是一个开源项目,可以从这里得到他:http://xdoclet.sourceforge.net/xdoclet/ 。
      XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、为你生成struts的struts-config.xml配置文件、javascript校验等。
      正如《XDoclet in Action》部分章节中文版<script language="javascript" type="text/javascript"> document.title="《XDoclet in Action》部分章节中文版 - "+document.title </script> 一文中所说的“当初,XDoclet因为可以自动生成EJB繁杂的接口和布署描述文件而声名鹊起。然而,现在的XDoclet已经发展成了一个全功能的、面向属性的代码生成框架。J2EE代码生成只是XDoclet的一个应用方面,它可以完成的任务已经远远超越了J2EE和项目文档的生成。”
目前的版本可以为web、ejb、struts、webwork、hibnaate、jdo、jmx等等生成描述文件、源码等,XDoclet提供了ant的任务target支持,完全通过ant来完成任务。

      展开XDoclet的发布包,samples目录下有直接可以运行的ant脚本文件。这里以web应用target为例,说明XDoclet能为我们作些什么。
      下面是samples中一个struts的action代码:
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 * Simple class to test Jakarta Struts generation (Jakarta Struts 1.2 beta 2 only).
 *
 * @struts.action
 *    path="/struts/foo"
 *
 * @struts.action-forward
 *    name="success"
 *    path="/struts/getAll.do"
 *    redirect="false"

 */
public final class StrutsAction extends Action
{
    public ActionForward execute(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request, HttpServletResponse response)
    {
        return mapping.findForward("success");
    }
}

注意红色的注释部分,注意执行完ant脚本后,将为你生成struts-config.xml中相关的配置项,以下是脚本执行后生成的struts-config.xml文件中的配置

  <!-- ========== Action Mapping Definitions =================================== -->
   <action-mappings>
    <action
      path="/struts/foo"
      type="test.web.StrutsAction"
      unknown="false"
      validate="true"
    >
      <forward
        name="success"
        path="/struts/getAll.do"
        redirect="false"
      />
    </action>

至此一点我们便可以了解XDoclet是如何工作的了,想想struts中的vaild配置文件、struts-config配置文件等需要我们大量的手工工作,如果再写代码的时候把相关的元数据信息写在注释里,XDoclet将为我们自动完成这些工作,当然像 @struts.action 、@struts.action-forward 等这些特定的注释标签需要去查XDoclet的相关文档了,像前面说的一样,Xdoclet对目前流行的多种框架、技术都提供了相关的支持。相信在一些情况下,Xdoclet会大大提高我们的工作效率的,了解更多信息请参考Xdoclet网站http://xdoclet.sourceforge.net/xdoclet/ 。
 


<script type="text/javascript"> <!-- google_ad_client = "pub-4465827781731051"; google_ad_width = 234; google_ad_height = 60; google_ad_format = "234x60_as"; google_ad_type = "text_image"; google_ad_channel =""; //--> </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-4465827781731051&dt=1126779024796&format=234x60_as&output=html&ad_type=text_image&nloc=http://blog.csdn.net/fckeditor/editor/fckeditor.html?InstanceName=Editor_Edit_FCKEditor&Toolbar=Default&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=19&u_java=true" frameborder="0" width="234" scrolling="no" height="60" allowtransparency="65535">
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值