0

SimpleFormController Http メソッドから拡張されたコントローラー - Post

フォームが送信され、ブラウザの戻るボタンを押すと、期限切れのページが表示され、フォームを再送信するページをリロードしました。

ただし、ユーザーがブラウザの戻るボタンをクリックすると、期限切れのページが表示されず、代わりにユーザーがフォームページにリダイレクトされる必要があります。

私は現在、2つのアプローチを考えていました。

コントローラで POST から get & use 以下に変更します。

@Override
protected boolean isFormSubmission(HttpServletRequest request) {
    return true;
}

2 番目の方法は、コントローラーのコンストラクターでキャッシュ時間を定義することです。

public VehicleDescController()
{
    setCacheSeconds(1);
}

アプリケーションは非常に古く、XML ベースのスプリング構成を使用しています。私はSpring MVCにも比較的慣れていません。

正しいアプローチを理解するのを手伝ってください。ありがとう。

4

1 に答える 1

1

私は通常、Post メソッドが完了した後に Get メソッドにリダイレクトするのが好きです。Post メソッドはそのままにしておきますが、常に Get メソッドにリダイレクトして、結果のページを表示します。これはユーザーにとっては通常の get 操作のように見え、バック ブラウザーの問題は発生しません。

Get メソッドが何らかのデータ (例: レコード ID) を必要とする場合、Post はそのデータをユーザー セッションに保存し、Get メソッドはユーザー セッションでその値を探すことができます。これは、Post メソッドから Get メソッドにデータを「渡す」簡単な方法であり、ユーザーが [戻る] ボタンを押してページに戻った場合に、そのデータをユーザー セッションに保持します。

于 2013-02-05T20:25:13.040 に答える