サポート > Wagby Developer Network > カスタマイズ事例 > 選択したデータについて任意の項目を一括更新する

カスタマイズ要件

今回のテーマは、Wagby 定義ファイルに用意されている「一括更新」機能を使い、実際の更新処理を Java で記述するというものです。

モデル名を batchmodel とします。更新対象となるモデル項目名を pflag とし、これはマスタモデル「pflag_m」を参照しているものとします。
また、モデル batchmodel は、Wagby 定義ファイルで以下の設定が行われているものとします。

  • 「Wagby画面動作定義シート」/「一覧表示画面」/「一括更新ボタンを表示する」に「○」をつけている。
    一括更新ボタンを表示する
    図1 Wagby画面動作定義シートにおける「一覧表示画面」の設定を行う
  • 「Wagby画面動作定義シート」/「Javaソースコードの設定」/「カスタマイズ用の雛形クラスを出力する」に「○」をつけている。
    カスタマイズ用の雛形クラスを出力する
    図2 Wagby画面動作定義シートにおける「Javaソースコードの設定」を行う

カスタマイズ方法

  1. 自動生成された $(DEVHOME)\env\work\srcgen\jp\jasminesoft\wagby\struts\batchmodel\MyShowListBatchmodelAction.java ファイルを、$(DEVHOME)\customize\webpage\WEB-INF\src\jp\jasminesoft\wagby\struts\batchmodel フォルダへ保存します。
    フォルダ名は、ご利用になるパッケージ名により変わります。適切に読み替えてください。
  2. MyShowListBatchModelAction.java を編集します。文字コードは UTF8 とししてください。
    /**
     * 一括更新を行う。
     *
     * @param batchmodel
     * @param p DbShowListParameter
     * @exception IOException
     * @exception ServletException
     */
    @Override
    public String do_updateRule(BatchModel batchmodel,
      DbShowListParameter p)
      throws IOException, ServletException,
    {
      
      // 値を書き換えます。
      // 注意:ここでは開発者は、コード「2」が「処理済」を意味することを
      // 仮定しています。
      if (batchmodel != null) {
        batchmodel.setPflag(2); // マスタモデルのコードをセットする。
      }
      return null;
      
    }
    
  3. do_updateRule の戻り値はエラーメッセージとなります。 (このエラーメッセージは画面に出力されず、ログに記録されます。) エラーがない場合は null を返すようにします。
    do_updateRule メソッドの前後で、対象オブジェクトのロックの取得ならびに解放処理が行われます。 また、キャッシュのクリアも適用されます。
    ただし、ロックの対象およびキャッシュクリアは、あくまでも対象オブジェクトのみです。もし、do_updateRule メソッド内で、「別の関連するオブジェクト」も同時に更新する場合は、それらのオブジェクトの(Wagby が提供するロックマネージャを用いた)ロック処理を開発者が実装する必要があります。この詳細は「自動生成されたデータベースアクセス処理を利用する」をお読みください。

ビルド

変更したファイルのビルド方法については、「カスタマイズファイルの適用方法」をお読みください。

ダウンロード

このページで紹介したサンプルをダウンロードしてお試しいただくことができます。

  • batchupdate.zip (466,892 byte)
    同 zip ファイルには次のファイルが含まれています。
    customize\webpage\WEB-INF\src\jp\jasminesoft\wagby\struts\batchmodel\MyShowListBatchmodelAction.java
    customize\webpage\WEB-INF\src\myapp_ja.properties.UTF8
    customize\webpage\WEB-INF\src\myerr_ja.properties.UTF8
    xls-model\batchupdate.xls

ダウンロード後、次の手順に従ってお試しください。

  1. ダウンロードファイルを $(DEVHOME) に展開します。Wagby 定義ファイルならびにカスタマイズコードが上書きで配置されます。(なお、パッケージ名は「jp.jasminesoft.wagby」となっていますので、変更している方はご注意ください。)
  2. フルビルドを行います。

このページ

カスタマイズ事例