Maison >Java >javaDidacticiel >Explication détaillée de la redirection Java de l'arrière-plan vers un autre projet

Explication détaillée de la redirection Java de l'arrière-plan vers un autre projet

Y2J
Y2Joriginal
2017-04-28 09:54:531577parcourir

Cet article présente principalement la méthode détaillée de redirection de Java de l'arrière-plan vers un autre projet. Il est d'une grande valeur pratique. Les amis dans le besoin peuvent s'y référer

(1) Passer par 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) Passer par 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) Passer par la redirection pour renvoyer le type String Notez que cette méthode ne permet pas aux contrôleurs Spring d'être annotés avec @RestController car @ RestController l'est. équivalent à toutes les méthodes de la classe marquées avec @ResponseBody. Ces méthodes ne renverront pas une vue, mais un objet json. Dans ce cas, la chaîne sera imprimée sur la page sans sauter. Le contrôleur peut être annoté avec @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; 
  }

Ce qui suit concerne le problème du passage des paramètres

Rediriger le passage des paramètres vers la méthode get S'il y a plus de paramètres. pour être transmis, ils peuvent être encapsulés dans une carte ou un autre projet dans 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; 
  }

utilise un objet de classe d'entité pour recevoir

@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); 
  }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn