0

本当に簡単なはずのことをしようとしています... Spring MVC 3を使用していて、別のコントローラー内からコントローラーへの呼び出しをリダイレクトしたい...例:

@Controller
@SessionAttributes
public class UserFormController {
@Autowired
private UserService userService;
@RequestMapping(value = "/method1", method = RequestMethod.GET)
public ModelAndView redirectFormPage() {
//redirect to controller2 here, 
//pointing to a method inside it, without going to any url first
}

modelandviewでそれをやろうとしましたが、すべてのソリューションが最初にURLを通過する必要があり、その後コントローラーにリダイレクトできるように思えます。

助けてくれてありがとう!

=============== 詳細情報 =========== フローは次のようになります: controller1 の methodA が呼び出されます...何かを実行します...そして、ユーザーを listPage にリダイレクトしたい... このページにはオブジェクトのリストがあり、controller2 の methodB はそれをロードしてこの listPage に送信できます。私が達成しようとしているのは、常に誰かがこのページを取得する必要があるということです。このコントローラー2でこのメソッドを呼び出してロードします。

4

3 に答える 3

2

できるよ

public String redirectFormPage() {
    return "redirect:/url/controller2";
}
于 2013-04-30T09:32:20.573 に答える
1

なぜこれをやりたいのかわかりませんが、これはうまくいくかもしれません:

@Controller
@SessionAttributes
public class UserFormController {
@Autowired
private UserService userService;

@Autowired
private Controller2 controller2;

@RequestMapping(value = "/method1", method = RequestMethod.GET)
public ModelAndView redirectFormPage() {
 return controller2.redirectMethod();
}

Controller2 をインジェクトして目的のメソッドを呼び出すだけです

于 2013-04-30T09:37:02.553 に答える
0

素晴らしい質問です。投稿されたフォームを処理するアクションに次のビューの知識を入れないように、Struts リダイレクト アクションの結果タイプを使用するのが好きです。

たとえば、次のビューのデータを準備してUpdateContactInfoActionを返す代わりに、 のようなクラスのアクション メソッドが返されます。フローの次のステップは配送オプションを選択することであるという知識は、struts 構成にのみあります。contactInfoSavedgotoShippingOptionsPage

Spring MVC でこれを行う方法を知っている人はいますか?

于 2014-05-28T15:07:34.533 に答える