在spring控制器中从get方法重定向到post方法
我有一个链接retailerId,单击链接控件后将转到以下控制器:在spring控制器中从get方法重定向到post方法,spring,Spring,我有一个链接retailerId,单击链接控件后将转到以下控制器: @Controller @RequestMapping(value = "/auth/adminsearchowner") public class AdminSearchOwnerController { @RequestMapping(value = "/retailerId/{retailerId}",method = RequestMethod.GET) public ModelAndView viewRetaile
@Controller
@RequestMapping(value = "/auth/adminsearchowner")
public class AdminSearchOwnerController {
@RequestMapping(value = "/retailerId/{retailerId}",method = RequestMethod.GET)
public ModelAndView viewRetailerInfo(
@PathVariable("retailerId") String retailerId,
@ModelAttribute EditRetailerLifeCycleBean editLicenseBean) {
editLicenseBean.setSelectedIDsString(retailerId);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("editLicenseBean",editLicenseBean);
modelAndView.setViewName("redirect:/auth/adminlicense/viewlicense");
return modelAndView;
}
}
其中/auth/adminclicense/viewlicense位于另一个控制器中,我们有用于此/auth/adminclicense/viewlicense请求映射的GET和POST方法。我想从前面的控制器调用post方法
@Controller
@RequestMapping("/auth/adminlicense")
public class AdminViewLicenseController {
@RequestMapping(value = "/viewlicense", method = RequestMethod.GET)
public ModelAndView searchRetailerLicense(
@ModelAttribute("editLicenseBean") EditRetailerLifeCycleBean editLicenseBean,
HttpSession session) {
}
@RequestMapping(value = "/viewlicense", method = RequestMethod.POST)
public ModelAndView getLicenseDetails(
@ModelAttribute EditRetailerLifeCycleBean lifeCycleBean,
HttpSession session) {
}
}
但它将得到一种方法。你能告诉我解决办法吗?
尝试:
而不是
modelAndView.setViewName("redirect:/auth/adminlicense/viewlicense");
无论如何,您试图通过用户浏览器(客户端)将一些数据从一个控制器(服务器端)发送到另一个控制器(服务器端)的设计可能不是最好的主意
希望有帮助 没有解决办法。重定向不能导致浏览器发送帖子
重新考虑一下你的设计。Hi@Pisek,如果我使用前锋,那就没有运气了。阿尔索伊没有完全理解这个想法@索蒂里奥斯·德里马诺利斯是对的。重定向将告诉浏览器转到其他地方(丢失已发送的数据),而转发只会显示不同的视图。但是,它无法将GET方法更改为在浏览器一侧发布。
modelAndView.setViewName("redirect:/auth/adminlicense/viewlicense");