Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在spring控制器中从get方法重定向到post方法_Spring - Fatal编程技术网

在spring控制器中从get方法重定向到post方法

在spring控制器中从get方法重定向到post方法,spring,Spring,我有一个链接retailerId,单击链接控件后将转到以下控制器: @Controller @RequestMapping(value = "/auth/adminsearchowner") public class AdminSearchOwnerController { @RequestMapping(value = "/retailerId/{retailerId}",method = RequestMethod.GET) public ModelAndView viewRetaile

我有一个链接retailerId,单击链接控件后将转到以下控制器:

@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");