软件编程
位置:首页>> 软件编程>> java编程>> springMvc请求的跳转和传值的方法

springMvc请求的跳转和传值的方法

作者:liuconglin  发布时间:2023-02-06 17:29:56 

标签:spring,mvc,传值

forword跳转页面的三种方式:

1.使用serlvet


/**
  * 使用forward跳转,传递基本类型参数到页面
  *   注意:
  *     1.使用servlet原生API Request作用域
  *    
  */
 @RequestMapping("/test")
 public String test(HttpServletRequest request,HttpServletResponse response){
   String name = "张小三";
   request.setAttribute("name",name);
   return "/back/attr";
 }

2.使用Model对象


/**
  * 使用forward跳转,传递基本类型参数到页面
  *   注意:
  *     1.使用springmvc 封装好的Model对象(底层就是request作用域)
  */
 @RequestMapping("/test1")
 public String test1(Model model){
   String name = "张小四";
   model.addAttribute("name", name);
   return "back/attr";

}

3.使用ModelAndView


/**
  * 使用modelAndView
  *   注意事项
  *     modelAndView对象中的数据只能被ModelAndView对象的视图获取
  */
 @RequestMapping("/test2")
 public ModelAndView test2(ModelAndView modelAndView){
   String name = "张小五";
   modelAndView.setViewName("back/attr");
   modelAndView.addObject("name", name);
   return modelAndView;

}

当然也可以通过new 一个ModelAndView对象来实现


@RequestMapping("/test3")
 public ModelAndView test3(){
   String name = "张小六";
   return new ModelAndView("back/attr", "name", name);
 }

forword跳转到Controller中的方法:

跳转到相同类中的方法


/**
  * 使用forword跳转到相同类中的某一方法
  * 注意:
  *     1.不需要加上类上的@RequestMapping的值
  */
 @RequestMapping("/test00")
 public String test00(){
   return "forward:test1";
 }

跳转到不同类中的方法:


/**
  * 使用forword跳转到不同类中的某一方法
  * 注意:
  *     1.需要加上类上的@RequestMapping的值:比如 :/hello
  */
 @RequestMapping("/test01")
 public String test01(){
   return "forward:/hello/test";
 }

redirect跳转到页面:

 使用servlet


/**
  * 使用redirect跳转 向页面传递数据
  *     1.使用Servlet原生API Session ServletContext
  */

@RequestMapping("/test4")
 public String test4(HttpServletRequest request,HttpSession session){
   String name = "张晓霞";
   session.setAttribute("name", name);
   return "redirect:/back/attr.jsp";
 }

使用ModelAndView


/**
  * 使用redirect跳转 向页面传递数据
  *     1..使用ModelAndView对象 modelAndView对象会把model中的数据以?形式拼接到地址栏后 可以使用${param.key}接受
  */
 @RequestMapping("/test5")
 public ModelAndView test5(){
   return new ModelAndView("redirect:/back/attr.jsp","name","小张张");
 }

redirect跳转到Controller中的方法:

跳转到同类和不同类的方法都需要加上类上的@RequestMapping,就不粘出测试代码了

来源:http://www.cnblogs.com/liuconglin/p/5769893.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com