S2JSFでダーティリード対応 しょにょさん
ピンゴツ〜ン。ダーティリードの場合、結局の所もう一度最新の状態で一覧画面を表示させて、そこから編集画面に入り直さないといけない訳です。
単に他の人が更新済みってだけなら一覧まで戻らなくても編集画面に戻ってオーケーですが、削除済みだったら何も表示出来ません。
なら強制的に画面遷移させちゃって、そこでエラー表示しちゃおうか計画。そうすりゃ処理モードなんて知ったこっちゃありません。
さっきの応急処置メソッドの戻り値を画面IDにしてやれ、えい。
●ActionThrowsInterceptor public String handleThrowable(UpdateFailureRuntimeException ex, MethodInvocation invocation) throws Throwable { FacesContext context = FacesContext.getCurrentInstance(); context.addMessage(null, MessageUtil.getErrorMessage("example.jsf.UpdateFailure", null));return null;return "employeeList"; }
さて、実行。わーい遷移したー。が。
エラーが表示されません・・・・。なんとなく予想はしてたよ・・・あわよくばって思ってたんだけど。メッセージ表示って画面遷移と同時に出来ないんだっけなあ。
結構要件としてあるんだけど。「正常に処理が終了しました」なんてメッセージも出してくれ、とか。その場合は遷移とメッセージ表示、同時じゃん。出来そうだけどな。
JSFの本、置いてきちゃった。むーん。