2007 年 4 月 23 日 23 時 5 分

管理系フォームの HTML を作る


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


昨日の考察を元に、ルール管理フォームの設計をしよう。
今回は、実装の容易さを考え、<button> を使うことにする。
では、list.jsp に枠組みを作っていこう。

=========== /WEB-INF/pages/filter/list.jsp ===========
<?xml version="1.0" encoding="UTF-8" ?>
(…省略…)
    <html:form action="/filter/manage-rules">
        <table>
            <caption>フィルタルール</caption>
            <tr>
                <th rowspan="2"></th>
                <th rowspan="2">有効</th>
                <th rowspan="2">処理</th>
                <th rowspan="2">プロトコル</th>
                <th colspan="2">発信</th>
                <th colspan="2">宛先</th>
                <th rowspan="2">備考</th>
                <th rowspan="2"></th>
            </tr>
            <tr>
                <th>アドレス</th>
                <th>ポート</th>
                <th>アドレス</th>
                <th>ポート</th>
            </tr>
            <!-- TODO: ルール内容の表示 -->
        </table>
        <p>
            <button name="command" value="add">追加</button>
            |
            <button name="command" value="moveUp">上へ</button>
            <button name="command" value="moveDown">下へ</button>
            <button name="command" value="enable">有効</button>
            <button name="command" value="disable">無効</button>
            <button name="command" value="delete">削除</button>
        </p>
(…省略…)
=========== end of /WEB-INF/pages/filter/list.jsp ===========

コマンド用のパラメータ名として「command」を使い、
ボタンによってその値を変えることで、ボタンを検出する。
パラメータを受け取る Action 側でも、
「command」というパラメータの値だけ見れば良いので、
コーディングが楽になりそうだ。

管理に使うボタンの名前が command に統一されたので、
HTML もすっきりして見通しが良い気もする。

まだ、現在のルールの内容を表示するための、
HTML の断片を <table> 内に含めていないが、
これはルールが追加できるようになってから作ればいいか。

フォームには、Struts の HTML タグライブラリを使い、
「/filter/manage-rules」を送信先として指定した。
この指定を有効にするためには、
Struts 設定ファイルに項目を追加しなければならない。

========== /WEB-INF/struts-config.xml ==========
(…省略…)
<struts-config>

    <form-beans>
        (…省略…)

        <form-bean name="manageFilterRulesForm"
                type="jp.loafer.test.forms.ManageFilterRulesForm" />

    </form-beans>

    <action-mappings>
        (…省略…)

        <!-- ルール管理 -->

        <action path="/filter/manage-rules"
                name="manageFilterRulesForm" scope="request">
        </action>

    <action-mappings>

    (…省略…)
</struts-config>
========== end of /WEB-INF/struts-config.xml ==========

Parameter Bean の設計で作った ManageFilterRulesForm を、
<form-bean> に追加し、それを <action> に登録する。

とりあえず、path と name、scope 属性だけ指定しておき、
ブラウザで JSP の表示に問題ないかテストしておこう。

よし、準備は整った。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.