2007 年 4 月 25 日 22 時 41 分

ルール追加画面の遷移


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


先にある程度の数のルールを用意しておかなければ、
ルール管理画面の動作をテストすることができない。
なので、最初に「追加」処理から着手していこう。

追加処理は、ルール管理画面の追加ボタンが起点である。
ボタンを押すと、ManageFilterRulesAction#add が呼ばれる。
その後、追加用の入力画面に遷移すればよい。

追加画面は編集画面と同じつくりで構わないので、
View としては edit-rules.jsp を使うことができる。
edit-rules.jsp は FilterRuleForm を表現したものなので、
FilterRuleForm のインスタンスを用意する必要がある。

しかし、「追加」の場合、インスタンスの初期化は不要だ。
FilterRuleForm の初期値(#reset の値)がそのまま使える。

ということは、ManageFilterRulesAction#add では何もせず、
単に edit-rules.jsp に遷移するだけで良いことになる。

ということで、まずはedit-rules.jsp に遷移させるための
<forward> を Struts 設定ファイルに用意する。

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

        <action path="/filter/manage-rules"
                name="manageFilterRulesForm" scope="request"
                parameter="command"
                type="jp.loafer.test.actions.ManageRulesAction">

            <!-- 追加時は、直接ルール編集画面用の View へ -->
            <forward name="add"
                    path="/WEB-INF/pages/filter/edit-rule.jsp" />

        </action>

追加用ということで「add」という名前の <forward> とした。
これで、Action の ActionMapping から参照できる。

========== ManageRulesAction#add ==========
    public ActionForward add(ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)
            throws Exception {
        return mapping.findForward("add");
    }
========== end of ManageRulesAction#add ==========

至ってシンプルである。

とりあえずこれで、追加ボタンから、
edit-rule.jsp へ遷移できるようになった。



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