2

@controllerにリクエストを送信してUserList()メソッドにリクエストを送信し、JqueryAJAXを使用してデータを表示するJSPページを作成しました。これにページングの概念を適用し、ハイパーリンク「NEXT」および「PREVIOUS」をクリックすると、コントローラーのメソッドnext()にリクエストを送信します。これにより、リクエストごとにページのサイズが増減し、userList()にリダイレクトされて取得します。現在の増加/減少したページ値の後のデータ。

@RequestMapping(method = RequestMethod.GET, value = "next")
public String next(HttpServletRequest request) throws Exception {
       ++userListPage;
       return "redirect:/admin/userList";
}

@RequestMapping(value = "userList")
public String userList(HttpServletRequest request, Model model) throws Exception {

    data is retrived over here and response is send back to JSP
}

これはchrome、firefoxでは正常に機能しますが、Internet Explorer 8では機能しません。JSPで最初に[次へ]をクリックすると、next()はUserList()にリダイレクトされますが、2回目は[次へ]をクリックします。 )UserList()メソッドにリダイレクトしませんが、代わりに「redirect:/ admin/userList」を返すことを検討します。ビュー名とビューが解決されると。私はたくさん試しましたが、何も機能しません。これについて私を助けてください。事前に感謝します。

4

2 に答える 2

2

これを試して

return "forward:/admin/userList";

IE8 はクライアントにリクエストを送信し、今回はクライアントがサーバーにリクエストを送信しないためです。したがって、それはあなたのために働いていません。

于 2012-08-22T07:55:44.917 に答える
1

POST リクエストを介してブラウザからフォームを送信するという同様の問題がありました。POST を処理するように構成されたコントローラー メソッドで、必要な処理を実行した後、別のコントローラー メソッド (GET 用に構成された) にリダイレクトしようとしていました。Firefox と Chrome では機能しましたが、IE では機能しませんでした。最初のコントローラーのリターン ビューをリダイレクトからフォワードに変更した後でも、IE では動作しないようでした。この例では forward が同じリクエスト メソッド スコープ、つまり POST を使用するという問題があったため、これを機能させるには 2 番目のコントローラー メソッドで指定されたリクエスト メソッド GET を削除する必要がありました。

于 2013-04-10T18:14:44.930 に答える