5

いくつかのパラメーターを使用して、コントローラーに POST 要求を別のコントローラーに転送させようとしています。

@RequestMapping(method=RequestMethod.POST)
public String processSubmit(@Valid Voter voter, BindingResult result, 
      //...
      request.setAttribute("firstName", voter.getFirstName());
      request.setAttribute("lastName", voter.getLastName());
      request.setAttribute("ssn", voter.getSsn());
      logger.info("VoterID exists, forwarding to /question/prepare");
      return "forward:/question/prepare";

私が直面している問題は、/question/prepare が HTTP GET 要求のみを処理する Controller メソッドを指していることです。

@RequestMapping(value="/prepare", method=RequestMethod.GET)
public String prepareVoterBean(@RequestParam String firstName, 
        @RequestParam String lastName, @RequestParam String ssn, Model model) {
    logger.info("QuestionController got GET REQUEST for " + firstName + lastName + ssn);
    VoterBean bean = new VoterBean();
    bean.setFirstName(firstName);
    bean.setLastName(lastName);
    bean.setSsn(ssn);

    model.addAttribute("questions",bean);
    return "questionPage";
}

prepareVoterBean へのリクエストを HTTP GET リクエストとして転送する方法はありますか? ありがとう。

4

2 に答える 2

3

prepareVoterBean へのリクエストを HTTP GET リクエストとして転送する方法はありますか?

redirect:プレフィックスを使用してみてください。


return "forward:/question/prepare";

これは POST ではありません。次のリンクが役立つ場合があります: 「22.5.3 ビューへのリダイレクト」セクション

于 2013-04-03T08:09:14.980 に答える
-1

@ミッドナイトブルー...

戻り値の型をに変更return "forward:/prepare";

于 2013-04-03T09:21:22.040 に答える