Java從後臺重定向(redirect)到另外一個項目的方法

(1)經過ModelAndView跳轉

1 @RequestMapping("alipayforward")
2     public ModelAndView alipayforward(HttpServletRequest req, HttpServletResponse resp) throws Exception {
3         String contNo =req.getParameter("contNo");
4         logger.info("訪問/downloadRequestElecCont.action");
5         String url = "redirect:http://baidu.com/downloadRequestElecCont.action?contNo="+contNo; 
6         return new ModelAndView(url);
7     }

(2)經過HttpServletResponse跳轉

1 @RequestMapping("alipayforward/{contNo}")
2     public void alipayforward(@PathVariable("contNo") String contNo, HttpServletRequest req, HttpServletResponse resp) throws Exception {
3         //String contNo =req.getParameter("contNo"); //保單號
4         logger.info("訪問/downloadRequestElecCont.action");
5         resp.sendRedirect("http://baidu.com/downloadRequestElecCont.action?contNo="+contNo);
6     }

(3)經過redirect返回String類型跳轉

注意:這種方法不容許Spring控制器用@RestController註解,由於@RestController至關於類中的全部方法都標註了@ResponseBody,這些方法不會返回一個視圖,而是返回一個json對象,這樣的話只是在頁面上打印出字符串,而不跳轉。控制器用@Controller註解便可json

1 @RequestMapping("alipayforward")
2     public String alipayforward(@RequestParam("contNo") String contNo, HttpServletRequest req, HttpServletResponse resp) throws Exception {
3         //String contNo =req.getParameter("contNo"); //保單號
4         logger.info("訪問/downloadRequestElecCont.action");
5         return "redirect:http://baidu.com/downloadRequestElecCont.action?contNo="+contNo;
6     }

下面是關於傳參問題

重定向傳參爲get方式,若是傳參數較多,能夠封裝到map或modelMap中app

1 @RequestMapping(params = "action=alipayforward")
2     public String alipayforward(Map modelMap){
3         modelMap.put("userName", "呵呵");
4         modelMap.put("password", "123456");
5         modelMap.put("age", "25");
6         return "redirect:http://localhost:8088/era/user/alipayforward4?modelMap="+modelMap;
7     }

另外一個項目用實體類對象接收url

1 @RequestMapping("alipayforward4")
2     public void alipayforward4(User user, HttpServletRequest req) throws Exception {
3         System.out.println(user.getPassword());
4         String modelMap = req.getParameter("modelMap");
5         System.out.println(modelMap);
6     }
相關文章
相關標籤/搜索