ModelAndView可以返回一个模型和视图,和jsp结合动态生成页面,一般不推荐使用。
一、ModelAndView用法
1 2 3 4 5 6 |
@RequestMapping(value = "testModelAndView") public ModelAndView testModelAndView(@RequestParam(value = "username") String username) { ModelAndView modelAndView = new ModelAndView("hello"); modelAndView.addObject("username", username); return modelAndView; } |
testModelAndView方法的返回值是ModelAndView类型,其中包含视图和模型信息。
spring mvc会把ModelAndView的model数据放入request域对象中,从而用jsp进行展示。
二、如何在jsp页面中显示?
因为我们创建的ModelandView值为hello,所以访问的页面就是hello.jsp。
也就是说我们需要去编辑一个名为hello.jsp的页面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>hello world!</title> </head> <body> <%@ page isELIgnored="false"%> <h1>hello world!!!!!!</h1> time: ${requestScope.username} </body> </html> |
这样就可以直接获取username这个值并且显示。
注意<%@ page isELIgnored=”false”%>是必须要加上的。这里启用的是EL表达式,这样才能输出username。如果没这个配置,EL表达式会被当做字符串输出。
实现效果:
三、总结
非常不常用,记录一下。