このアーカイブは同期化されません。 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 の表示に問題ないかテストしておこう。
よし、準備は整った。