使用Spring MVC的时候可能的返回值有很多种,可能是下面这些类型或者其它更多类型:
- String
- View
- ModelAndView
- ModelMap
这些都会最终都会让Spring MVC包装成一个ModelAndView对象让ViewResolver(视图解析器)解析,得到一个最终的视图,并且返回。这个ModelAndView对象包含了逻辑名 和模型对象的视图 。最终视图可以是以下这些类型:
- JSP
- JfreeChat
- excel
视图:作用是渲染模型数据,将模型中的数据以某种形式呈现给用户,视图对象由视图解析器实例化,是无状态的,所以不会有线程安全问题。
ViewResolver:Spring MVC为逻辑视图名的解析提供了不同的策略,可以在Spring WEB上下文中配置一种或多种解析策略,并制定他们之间的先后顺序,每一种映射策略对应一个具体的视图解析器实现类。InternalResourceViewResolver是最常见的视图技术,常用以下配置:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/">
</property>
<property name="suffix" value=".jsp">
</property>
</bean>