redirect java 配置_Java从后台重定向(redirect)到另一个项目的方法
(1)通過ModelAndView跳轉
@RequestMapping("alipayforward")public ModelAndView alipayforward(HttpServletRequest req, HttpServletResponse resp) throwsException {
String contNo=req.getParameter("contNo");
logger.info("訪問/downloadRequestElecCont.action");
String url= "redirect:http://baidu.com/downloadRequestElecCont.action?contNo="+contNo;return newModelAndView(url);
}
(2)通過HttpServletResponse跳轉
@RequestMapping("alipayforward/{contNo}")public void alipayforward(@PathVariable("contNo") String contNo, HttpServletRequest req, HttpServletResponse resp) throwsException {//String contNo =req.getParameter("contNo");//保單號
logger.info("訪問/downloadRequestElecCont.action");
resp.sendRedirect("http://baidu.com/downloadRequestElecCont.action?contNo="+contNo);
}
(3)通過redirect返回String類型跳轉,注意這種方法不允許Spring控制器用@RestController注解,
因為@RestController相當于類中的所有方法都標注了@ResponseBody,這些方法不會返回一個視圖,而是返回一個json對象,
這樣的話只是在頁面上打印出字符串,而不跳轉。控制器用@Controller注解即可
@RequestMapping("alipayforward")public String alipayforward(@RequestParam("contNo") String contNo, HttpServletRequest req, HttpServletResponse resp) throwsException {//String contNo =req.getParameter("contNo");//保單號
logger.info("訪問/downloadRequestElecCont.action");return "redirect:http://baidu.com/downloadRequestElecCont.action?contNo="+contNo;
}
下面是關于傳參問題
重定向傳參為get方式,如果傳參數較多,可以封裝到map或modelMap中
@RequestMapping(params = "action=alipayforward")publicString alipayforward(Map modelMap){
modelMap.put("userName", "呵呵");
modelMap.put("password", "123456");
modelMap.put("age", "25");return "redirect:http://localhost:8088/era/user/alipayforward4?modelMap="+modelMap;
}
另一個項目用實體類對象接收
@RequestMapping("alipayforward4")public void alipayforward4(User user, HttpServletRequest req) throwsException {
System.out.println(user.getPassword());
String modelMap= req.getParameter("modelMap");
System.out.println(modelMap);
}
總結
以上是生活随笔為你收集整理的redirect java 配置_Java从后台重定向(redirect)到另一个项目的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux路由表生成,路由表(FIB)内
- 下一篇: android 遍历所有view,And