4.セッティングsheet生成plugin


こんにちは、今回はEzServletのpluginの1つでものある「セッティングsheet生成」pluginについて説明したいと思います。このpluginは、カスタムタグ設定後のHTMLをパース(解析)し、HTMLに含まれている情報をExcelのシートに変換するpluginです。
では何故HTMLの情報をわざわざExcelに変換する必要があるのでしょうか...(・・?
どんなシステムであれ入力項目の妥当性検査は必ず行うかと思います。
webシステムも例外でなく、むしろオープンな分もっと強固に妥当性検査を行う必要があります。
しかし、妥当性検査などを開発者がマニュアルで記述するのは意外と大変です。入力項目が30を越えた時点で嫌になります。

また、webシステムの入力項目は様々で、ざっと考ても以下の種類が思いつきます。
これらの種類の妥当性検査を開発者がマニュアルで記述するのが大変なことは容易に想像できますね(^^;)

 1.<input type="text">
 2.<textarea>
 3.<select><option></option></select>
 4.<input type="checkbox">
 5.<input type="radio">
 6.<input type="file">

そこで、変換されたExcelシートの入力項目欄にvalidate(妥当性検査)の設定項目を設けExcelで妥当性検査の設定を行う方法を容易しました。
Excelの良いところは、視認性が高くセルへの文字入力が楽な点にあります。
このExcelの良い点を利用するために開発されたpluginが「セッティングsheet生成」pluginなのです。

では、早速利用方法について説明いたします。
今回例として利用するサンプルHTMLは以下のないようです。抽出条件と一覧照会結果を表示する単純なサンプルHTMLです。
説明の都合上、装飾(スタイルシートやイメージ)はいっさいりようしていません...m(__)m

上記画面のHTMLソースは以下のようになります。下のソースにはカスタムタグが設定済みです。

<!-- HTMLTEMPLATE_PATH=C:/workspace/ccc/plugin/html/template/HTMLTemplate.txt -->
<html>
   <head><title>SAMPLE</title></head>
   <body>
     <form method="POST">
        <center>
           <h1><tg:label name="label.title">サンプル一照会</tg></h1>
           <font color="red"><tg:out name="errors">エラーメッセージ示</tg></font>
           <table border="1" cellspacing="1" cellpadding="1">
              <tr>
                 <td><tg:label name="label.name">氏名</tg></td>
                 <td><input type="text" name="name"  maxlength="20" size="20" value=""></td>
              </tr>
              <tr>
                 <td><tg:label name="label.userid">ユーザーID</tg></td>
                 <td><input type="text" name="userid"  maxlength="20" size="20" value=""></td>
              </tr>
              <tr>
                 <td><tg:label name="label.mail">メールアドレス</tg></td>
                 <td><input type="text" name="mail"  maxlength="100" size="40" value=""></td>
              </tr>
           </table>
           <br>
           <button name="doSearch" ><tg:label name="label.search">検索</tg></button><br><br>
           <tg:true name="display">
           <table border="1" cellspacing="1" cellpadding="1">
              <tr>
                 <td><tg:label name="label.details">詳細</tg></td>
                 <td><tg:label name="label.name">氏名</tg></td>
                 <td><tg:label name="label.userid">ユーザーID</tg></td>
                 <td><tg:label name="label.mail">メールアドレス</tg></td>
              </tr>
              <tg:loop name="Result">
              <tr>
                 <td><button name="doDetails" ><tg:label name="label.details">詳細</tg></button></td>
                 <td><tg:out name="name">高橋良憲</tg></td>
                 <td><tg:out name="userid">trygun</tg></td>
                 <td><tg:out name="mail">trygunfw@gmail.com</tg></td>
              </tr>
              </tg>
           </table>
           </tg>
        </center>
     </form>
   </body>
</html>

1.対象となるHTMLを選択します。

2.すかさず「G」ボタンを押下します。

3.選択したパッケージに「Sample.xml」が作成されます。

4.作成されたSample.xmlを開きます。
 HTMLの情報がExcelに変換されているのが分かると思います。 
 入力項目の妥当性検査の設定は下記の「赤色」の箇所になります。
 VALIDATEセルでは妥当性検査の種類(全角のみ、英数のみ...etc)を設定し、必須セルには入力項目が
 必須の場合は「true」を設定します。

VALIDATEセルの種類は全21種で以下の通りです。

 1.フリー
 2.全角
 3.半角
 4.英字
 5.数字
 6.記号
 7.かな
 8.英数
 9.英かな
 10.英記号
 11.英数かな
 12.英数記号
 13.英かな記号
 14.数値
 15.数値0除外
 16.少数
 17.少数0除外
 18.年月日
 19.年月
 20.時分秒
 21.時分

VALIDATEセルはコンボボックスですので、リストから選択しても良いですが、名称が直感的ですのでマニュアルで入力するほうが速いと思います。