Java從后台重定向(redirect)到另一個項目的方法


(1)通過ModelAndView跳轉

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

(2)通過HttpServletResponse跳轉

@RequestMapping("alipayforward/{contNo}")
public void alipayforward(@PathVariable("contNo") String contNo, HttpServletRequest req, HttpServletResponse resp) throws Exception {
        //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) throws Exception {
        //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")
public String 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) throws Exception {
        System.out.println(user.getPassword());
        String modelMap = req.getParameter("modelMap");
        System.out.println(modelMap);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM