開発支援ツール.2「EzServlet/DTOクラスとControllerクラスの自動生成機能 - その1」
今回は、HTML(View)に対応する「DTOクラス」と「Controller」クラスのJAVAソースを自動生成機能について説明します。
JAVAソースを自動生成する機能は、2つの方法が存在します。
どちらの方法にも「メリット」と「デメリット」はあります。
1.HTMLから詳細設定(validate等の設定)用Excelを自動生成し、設定後にExcelからJAVAソースを自動生成する方法。
2.HTMLからJAVAソースを自動生成する方法。
1の方法は、細かな設定をExcelの表形式で設定可能であるため、自動生成されるソースも細かな箇所まで生成されます。しかし、1度Excelを生成し設定する作業が発生するため、軽やかさに欠ける印象を受けます。
2の方法は、HTMLから直接JAVAソースを生成するため、軽快に開発に着手できます。しかし、validator等の設定がないため、それらの箇所はマニュアルで追加する必要があります。
それでは、1の方法の「HTMLから詳細設定(validate等の設定)用Excelを自動生成」について説明したいと思います。
下記に設定用Excelの元ネタとなるHTML(Hoge.html)を照会します。
例に利用するサンプルは、入力系項目の4種タグ(text,select,checkbox,radio)と2つのボタンから構成されているHTMLです。
<html> <head></head> <body> <form method="post"> <center> <h1 class="headertitle"> <tg:label name="label.title"> 入力画面サンプル </tg> </h1> <tg:out name="message"></tg> <table> <tr> <td width="100"> <tg:label name="label.text"> テキスト項目 </tg> </td> <td whidth="150"> <input type="text" name="text" maxlength="20" size="10" value=""> </td> </tr> <tr> <td> <tg:label name="label.select"> セレクト項目 </tg> </td> <td> <select name="select"> <option value="0">選択肢1</option> <option value="1">選択肢2</option> <option value="3">選択肢3</option> </select> </td> </tr> <tr> <td> <tg:label name="label.check"> チェック項目 </tg> </td> <td> <input type="checkbox" name="check" value="V"> </td> </tr> <tr> <td> <tg:label name="label.radio"> ラジオ項目 </tg> </td> <td> <input type="radio" name="radios" value="A"> <input type="radio" name="radios" value="B"> <input type="radio" name="radios" value="C"> </td> </tr> </table> <br> <input type="button" name="button1" value="ボタン1"> <input type="button" name="button2" value="ボタン2"> </center> </form> </body> </html>
このHTMLを利用して設定用Excelを作成します。
作業は、いたって単純です。
Eclipse上で対象となる「HTML」を選択した状態で、メニューの「画面設計書」を選択します。
設定用Excelが無事作成されると下記のパネルが表示されます。
OKボタンを押して、指示通り更新します。
HTMLと同一名称のExcelが作成されたのが確認できると思います。ここまでは簡単ですね。
では、作成されたExcelの設定方法について説明します。
まず、作成されたExcelの開いて、内容を確認してみます。
元ネタとなる「HTML」のタグより、各種を埋め込みます。
背景色がオレンジの箇所が任意ですが設定するべき箇所になります。
う〜本日は時間が無くなってしまったので此処まで…><
どうでも良いことですが…
今回説明した機能はEclipseのプラグインですが、殆どの実装はJAVAで書いています。
理由は2つ。。。
1.Eclipseのpluginを作るのが初めてで、良く分かってない><
2.凝った事をしてしまうとEclipseのバージョンを上げた時に動かなくなるのが面倒(^^;)
ですので、Eclipseが利用できない環境の場合は、JAVAを直接実行する事も可能です。
また、他のIDE用に加工するのも容易ではないかと思います…^^