隨筆-314  評論-209  文章-0  trackbacks-0
          本文的目的是讓你用最短的時間了解xdoclet技術(shù),本人并未對其作深入的研究,若理解有誤請指正。



          XDoclet是一個開源項目,可以從這里得到他:http://xdoclet.sourceforge.net/xdoclet/ 。

          XDoclet可以通過你在java源代碼中的一些特殊的注釋信息,自動為你生成配置文件、源代碼等等,例如web、ejb的部署描述文件、為你生成struts的struts-config.xml配置文件、javascript校驗等。

          正如《XDoclet in Action》部分章節(jié)中文版 一文中所說的“當初,XDoclet因為可以自動生成EJB繁雜的接口和布署描述文件而聲名鵲起。然而,現(xiàn)在的XDoclet已經(jīng)發(fā)展成了一個全功能的、面向?qū)傩缘拇a生成框架。J2EE代碼生成只是XDoclet的一個應(yīng)用方面,它可以完成的任務(wù)已經(jīng)遠遠超越了J2EE和項目文檔的生成。”

          目前的版本可以為web、ejb、struts、webwork、hibnaate、jdo、jmx等等生成描述文件、源碼等,XDoclet提供了ant的任務(wù)target支持,完全通過ant來完成任務(wù)。



          展開XDoclet的發(fā)布包,samples目錄下有直接可以運行的ant腳本文件。這里以web應(yīng)用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");

          }

          }



          注意紅色的注釋部分,注意執(zhí)行完ant腳本后,將為你生成struts-config.xml中相關(guān)的配置項,以下是腳本執(zhí)行后生成的struts-config.xml文件中的配置:





          <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配置文件等需要我們大量的手工工作,如果再寫代碼的時候把相關(guān)的元數(shù)據(jù)信息寫在注釋里,XDoclet將為我們自動完成這些工作,當然像 @struts.action ?#162;@struts.action-forward 等這些特定的注釋標簽需要去查XDoclet的相關(guān)文檔了,像前面說的一樣,Xdoclet對目前流行的多種框架、技術(shù)都提供了相關(guān)的支持。相信在一些情況下,Xdoclet會大大提高我們的工作效率的,了解更多信息請參考Xdoclet網(wǎng)站http://xdoclet.sourceforge.net/xdoclet/ 。
          posted on 2006-11-05 08:31 xzc 閱讀(338) 評論(0)  編輯  收藏 所屬分類: Xdoclet
          主站蜘蛛池模板: 太白县| 灌南县| 吐鲁番市| 梁平县| 吉木乃县| 云浮市| 荣成市| 枞阳县| 浮山县| 灵川县| 永清县| 章丘市| 兴宁市| 古蔺县| 阳东县| 晋宁县| 宽甸| 清原| 云梦县| 太仓市| 肃北| 永顺县| 犍为县| 梧州市| 江城| 隆昌县| 建宁县| 长泰县| 江北区| 手机| 林州市| 阿城市| 柯坪县| 台山市| 从江县| 循化| 池州市| 南乐县| 会昌县| 上蔡县| 洞口县|