当前位置: 首页 > 编程笔记 >

详解Java从后台重定向(redirect)到另一个项目的方法

水麒
2023-03-14
本文向大家介绍详解Java从后台重定向(redirect)到另一个项目的方法,包括了详解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); 
  } 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 我有一个场景,在呈现JSF页面之前,我必须调用另一个bean和注册的bean属性,因为JSF页面引用bean属性来呈现响应。 处理请求-调用后端方法以获取详细信息-如果(type==XYZ),则调用beantwo.gettypexyz()并按照为beantwo.gettypexyz()定义的导航规则重定向-否则(type==RST),则调用beanthree.gettyperst()并按照为bea

  • 重定向到一个 URL 。 使用 window.location.href 或 window.location.replace() 重定向到 url 。 传递第二个参数来模拟链接点击(true - 默认值)或HTTP重定向(false)。 const redirect = (url, asLink = true) => asLink ? (window.location.href = url)

  • 通过重定向界面,您可以将域或特定网页的所有访问者或流量发送到新域。 例如,如果您将网站移至新域并且想要将所有访问者重定向到新网站,则需要设置重定向。 有两种类型的重定向可用 - Permanent (301) Redirect 这会将您的访问者重定向到新网站并更新访问者的书签。 这也会将搜索引擎引导到您的新网站。 此重定向是渗透性的,意味着页面已移动。 因此,搜索引擎和其他抓取工具会根据新链接更新

  • 转到http://localhost:8080的结果是重定向:/birdspotting的打印

  • 问题内容: 我正在做一个多模块项目。我们正在其他几个模块中的一个模块中使用appCtx.xml。 当前的问题是它们并不总是彼此同步。 当有人修改文件并构建项目时,就会发生这种情况,这样做的人可能会忘记将其复制到另一个模块,从而导致问题。 如何将src / main / resources中的appCtx.xml从项目A复制到项目B中的src / main / resources? 问题答案: 您可

  • 问题内容: 我正在eclipse中进行两个项目,我想将一些类从项目a导入到项目b。我该怎么办? 有没有一种方法可以在不将项目添加到构建路径的情况下进行? 问题答案: 将项目A添加到项目B的构建路径。 请按照下列步骤操作: 通过 在Eclipse中右键单击项目B的文件夹进行编辑->属性->构建路径->项目->添加。 现在添加项目A