1

戻るボタンがあり、その機能をコントローラーに実装したいのですが、window.history.back機能を使用したくありません。

ユーザーが戻るボタンをクリックしたときに、コントロールをコントローラーに転送するにはどうすればよいですか。フォーム送信を使用したくありません。

実行される手順は次のとおりです。

  1. ユーザーが[戻る]ボタンをクリックします(javascript関数はonClickイベントで呼び出されます)
  2. javascript関数は、コントローラーに制御を渡します。つまり、javascriptは@RequestMappingメソッドを呼び出します。
  3. redirect:some page.jspコントローラはリダイレクトに(return)を使用します。

どうすればそのようなシナリオを実装できますか。

4

2 に答える 2

1

あなたは以下の行のようなことをすることができます。しかし、私によれば、それを行うためのクリーンな方法ではありません。ただし、オプションとして無視することはできません。このコード行を見てください。

<input type="button" value="Go Back" onclick="javascript:window.location.href='<%=request.getContextPath()%>/services'"/>

コード内の/services部分を、戻りたいURLマッピングに置き換える必要があります。

もう1つのクリーンなアプローチは、コントローラーからこの戻りURLを渡してから、ここでjspの値を使用することです。

これがお役に立てば幸いです。

乾杯。

于 2012-05-29T08:43:08.457 に答える
1

コントローラ

@RequestMapping("/get-back-url")
public String getBackUrl(@RequestParam String pageId) {
    return "redirect:" + getBackUrlFromPageId(pageId); // or something else
}

意見:

<a href="/get-back-url?pageId=currentPageId">Go back</a>
于 2012-05-29T09:13:10.620 に答える