フォーム再表示の実装¶フォームを再表示する場合は、HTTPパラメータにredoを指定させる。(2)入力内容確認画面を描画するためのJSPのView名を返却する。以下に、フォーム再表示の動作について説明する。Backボタンを押下する。いうURIにPOSTメソッドでアクセスする。いうHTTPパラメータがあるため、ControllerのcreateRedoメソッドが呼び出され、フォーム画面が再表示される。フォームの入力値をhidden項目として送信されるため、フォーム画面で入力値を復元することが出来る。両者では以下が異なり、要件に応じて選択する必要がある。新規作成の実装¶フォームの入力内容を登録する場合は、POSTで登録対象のデータ(hiddenパラメータ)を送信させる。新規作成リクエストはこの処理のメインリクエストになるので、HTTPパラメータによる振り分けは行っていない。この処理ではデータベースの状態を変更するので、二重送信によって新規作成処理が複数回実行されないように制御する必要がある。そのため、この処理が終了した後はView(画面)を直接表示するのではなく、次の画面(新規作成完了画面)へリダイレクトしている。このパターンをPOST-Redirect-GET(PRG)パターンと呼ぶ。指定し、params属性は指定しない。リクエストにリダイレクトするためのURLをView名として返却する。Note“redirect:/xxx”を返却すると”/xxx”へリダイレクトさせることができる。WarningPRGパターンとすることで、ブラウザのF5ボタン押下時のリロードによる二重送信を防ぐ事はできるが、二重送信の対策としてはとしては十分ではない。二重送信の対策としては、共通部品として提供しているTransactionTokenCheckを行う必要がある。以下に、「新規作成」の動作について説明する。Createボタンを押下する。いうURIにPOSTメソッドでアクセスする。ボタンを識別するためのHTTPパラメータを送信していないので、Entity新規作成処理のメインのリクエストと判断され、Controllerのcreateメソッドが呼び出される。)へリダイレクトしているため、HTTPステータスが302になっている。