我試圖讓我的控制器轉發POST請求到另一個控制器的一些參數:Spring MVC的轉發HTTP POST請求,GET請求處理程序在另一個控制器
@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請求?謝謝。
使用'重定向:'你告訴客戶端請求,你重定向whant重定向他到另一個頁面。但是使用'forward:'這種情況在服務器端是透明的,所以客戶端在沒有其他請求的情況下獲得不同的響應。瞭解這種差異很重要! –