Xdoclet是什么?

    技术2022-05-11  146

    style="WIDTH: 345px; HEIGHT: 285px" align="left" marginwidth="0" marginheight="0" src="http://www.ymfund.com/web/ad.html" frameborder="0" width="468" scrolling="no" height="60">

    本文的目的是让你用最短的时间了解xdoclet技术,本人并未对其作深入的研究,若理解有误请指正。       XDoclet是一个开源项目,可以从这里得到他:http://xdoclet.sourceforge.net/xdoclet/ 。        XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件、源代码等等,例如web、ejb的部署描述文件、为你生成struts的struts-config.xml配置文件、javascript校验等。       正如《XDoclet in Action》部分章节中文版 一文中所说的“当初,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/ 。

    最新回复(0)