7.17.4.2.2. 更新機能での実装例

7.17.4.2.2.1. 入力画面の初期表示

// ブラウザを直接閉じた場合などにセッションが残っている場合があるので削除
SessionUtil.delete(ctx, "project");

// 更新対象データの取得処理は省略

// 更新対象データをセッションストアに保存
SessionUtil.put(ctx, "project", project);

// EntityからFormへ変換
ProjectForm form = BeanUtil.createAndCopy(ProjectForm.class, project);

// 更新対象データをリクエストスコープに設定
context.setRequestScopedVar("form", form);

7.17.4.2.2.2. 入力画面から確認画面へ遷移

// リクエストスコープから入力情報を取得
ProjectForm form = context.getRequestScopedVar("form");

// 更新対象データをセッションストアから取得
Project project = SessionUtil.get(context, "project");

// 入力情報を更新対象データに上書き
BeanUtil.copy(form, project);

7.17.4.2.2.3. 確認画面から入力画面へ戻る

// セッションストアから更新対象データを取得
Project project = SessionUtil.get(ctx, "project");

// EntityからFormへ変換
ProjectForm form = BeanUtil.createAndCopy(ProjectForm.class, project);

// 更新対象データをリクエストスコープに設定
context.setRequestScopedVar("form", form);

7.17.4.2.2.4. 更新処理を実行

// セッションストアから更新対象データを取得
Project project = SessionUtil.get(ctx, "project");

// 更新処理は省略

// セッションストアから更新対象データを削除
SessionUtil.delete(ctx, "project");