我正在尝试让我的 Controller 将 POST 请求转发到另一个带有一些参数的 Controller :
@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 请求?谢谢。
最佳答案
Is there a way to forward the request to prepareVoterBean as a HTTP GET request?
尝试使用 redirect:
前缀。
return "forward:/question/prepare";
这不是 POST。以下链接可能有用:"22.5.3 Redirecting to views" section .
关于java - Spring MVC 将 HTTP POST 请求转发到另一个 Controller 中的 GET 请求处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15780540/