連載
» 2004年08月17日 10時00分 公開

JavaTips 〜Apache/Jakarta編:Strutsの設定ファイルから仕様書を生成する

[青木淳夫,@IT]

 struts-config.xmlは、Strutsアプリケーションの動作を規定する、コアともいえる設定ファイルです。Strutsアプリケーションの仕様書といってもよいでしょう。StrutsDocを利用すれば、このstruts-config.xmlに記述されている内容を、あたかもJavadocで生成したような形式で出力できます。

 なお、執筆時点のバージョンのStrutsDocは、Sturts 1.1だけをサポートしており、Antのタスクとして提供されています。

操作手順

(1)StrutsDocの入手

 SturtsDocは、SourceforgeのStrutsApplicationsのページからダウンロードできます。ダウンロードのリンクから、その時点での最新バージョンを入手してください。ここでは、strutsdoc-0.4.zipを使用します。

(2)StrutsDocの準備

 次に、入手したファイルを展開します。本稿では、「C:\java\jakarta\strutsdoc」に展開したものとします。StrutsDocは、Antのタスクとして提供されているので、Antの設定ファイルであるbuild.xmlに定義を行います。

build.xml
<?xml version="1.0" encoding="Shift_JIS"?>
<project name="project" default="run-strutsdoc" basedir=".">
    <description>StrutsDocのサンプル</description>

    <!-- (1)strutsdoc-0.4.jarをクラスパスとして指定-->
    <path id="classpath">
        <pathelement 
        location="C:\java\jakarta\strutsdoc\lib\strutsdoc-0.4.jar"/>
    </path>

    <!-- (2)strutsdocというタスク名で登録-->
    <taskdef name="strutsdoc" classname="strutsdoc.Main" 
        classpathref="//www.atmarkit.co.jp/ait/articles/0408/17/classpath" />

    <!-- (3)SturtsDocを出力するターゲット-->
    <target name="run-strutsdoc">
        <!-- SturtsDocタスク-->
        <strutsdoc destdir="api/struts" servlet="action" 
             webxml="WEB-INF/web.xml"/>
    </target>

</project>


 SturtsDocの本体である「strutsdoc-0.4.jar」を使用するには、クラスパスの設定を行ってから、taskdefタグにて定義を行います。

参考:Eclipseを使用している場合には、[ウィンドウ(W)]メニューから[設定(P)]を選択して表示される、[設定]ダイアログの[Ant]ツリー選択時に表示される[クラスパス]タブで(1)の設定と、[タスク]タブで(2)の設定を行うことができます。この設定を行った場合、build.xmlには(3)の設定を記述するだけで十分です。

 また、StrutsDocタスクの属性には下記の要素を設定します。

StrutsDocタスクの属性の設定値
属性名称 説明 必須
destdir StrutsDocを出力するフォルダ Yes
webxml web.xmlの場所を示すフォルダ Yes
servlet web.xmlの中で定義されているAction Servletの名前 action以外の場合はYes

(3) StrutsDocの実行

 では、Struts 1.1に添付されているサンプルである「struts-example.war」を例に、試してみましょう。run-strutsdocターゲットを指定して、Antから実行します。

StrutsDocの実行 (クリックすると拡大) StrutsDocの実行 (クリックすると拡大)

 Eclipseの場合、コンソール上に「BUILD SUCCESSFUL」というメッセージが表示されます。また、api配下にstrutsフォルダが作成されていることを確認します。

(4) StrutsDocの出力結果

 api配下のstrutsというフォルダ内に「index.html」というHTMLファイルが作成されているので、ブラウザで開いて中身を確認します。

 このHTMLファイルの中身は、3つのフレームから構成され、左上がモジュールの選択項目、左下にはActionやActionFormなどのコンテンツがフォルダ形式で表示されています。任意の設定をクリックすると、右側のメインウィンドウにその詳細が表示されます。

LogonFormの内容を表示 LogonFormの内容を表示

 このように、XMLで記述されているため理解しづらい「struts-config.xml」の内容を、Action、Form Beans、Forwards、Message Resources、Plug-Insというカテゴリごとに分類された、JavaDocライクな表示で確認できるようになります。

 なお、StrutsDocはAntのタスクなので、struts-config.xmlを更新するたびに繰り返し生成することが可能で、同期を取ることも容易に行えます。

Profile

WINGSプロジェクト

青木淳夫


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。