SpringMVC响应视图和结果视图详解

1、返回字符串,Model传输数据

/**

* 返回String

* @param model

* @return

*/

@RequestMapping("/testString")

public String testString(Model model){

System.out.println("testString方法执行了...");

// 模拟从数据库中查询出User对象

User user = new User();

user.setUsername("美美");

user.setPassword("123");

user.setAge(30);

// model对象

model.addAttribute("user",user);

return "success";

}

2、void(不经常使用)

/**

* 是void

* 请求转发一次请求,不用编写项目的名称

*/

@RequestMapping("/testVoid")

public void testVoid(HttpServletRequest request, HttpServletResponse response) throws Exception {

System.out.println("testVoid方法执行了...");

// 编写请求转发的程序

// request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request,response);

// 重定向

// response.sendRedirect(request.getContextPath()+"/index.jsp");

// 设置中文乱码

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

// 直接会进行响应

response.getWriter().print("你好");

return;

}

3、返回ModelAndView完成跳转页面和传输数据

/**

* 返回ModelAndView

* @return

*/

@RequestMapping("/testModelAndView")

public ModelAndView testModelAndView(){

// 创建ModelAndView对象

ModelAndView mv = new ModelAndView();

System.out.println("testModelAndView方法执行了...");

// 模拟从数据库中查询出User对象

User user = new User();

user.setUsername("小凤");

user.setPassword("456");

user.setAge(30);

// 把user对象存储到mv对象中,也会把user对象存入到request对象

mv.addObject("user",user);

// 跳转到哪个页面

mv.setViewName("success");

return mv;

}

4、forward转发

/**

* 使用关键字的方式进行转发

* @return

*/

@RequestMapping("/testForwardOrRedirect")

public String testForwardOrRedirect(){

System.out.println("testForwardOrRedirect方法执行了...");

// 请求的转发

return "forward:/WEB-INF/pages/success.jsp";

}

5、redirect重定向

/**

* 使用关键字重定向

* @return

*/

@RequestMapping("/testForwardOrRedirect")

public String testForwardOrRedirect(){

System.out.println("testForwardOrRedirect方法执行了...");

// 重定向

return "redirect:/index.jsp";

}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

以上是 SpringMVC响应视图和结果视图详解 的全部内容, 来源链接: www.h5w3.com/248563.html

回到顶部