详解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); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
SpringBoot+Mybatis-Plus实现mysql读写分离方案的示例代码
这篇文章主要介绍了SpringBoot+Mybatis-Plus实现mysql读写分离方案的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-03-03一篇文章告诉你JAVA Mybatis框架的核心原理到底有多重要
yBatis的底层操作封装了JDBC的API,MyBatis的工作原理以及核心流程与JDBC的使用步骤一脉相承,MyBatis的核心对象(SqlSession,Executor)与JDBC的核心对象(Connection,Statement)相互对应2021-06-06IDEA 中创建并部署 JavaWeb 程序的方法步骤(图文)
本文主要介绍了IDEA 中创建并部署 JavaWeb 程序的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-02-02TransmittableThreadLocal通过javaAgent实现线程传递并支持ForkJoin
这篇文章主要介绍了TransmittableThreadLocal通过javaAgent实现线程传递并支持ForkJoin详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-06-06Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理
本文给大家分享一段示例程序,通过示例代码可以看出FileReader是基于InputStreamReader实现的,FileWriter是基于OutputStreamWriter实现的,具体程序代码大家通过本文了解下吧2017-05-05
最新评论