SpringMVC视图解析器概述

不论控制器返回一个String,ModelAndView,View都会转换为ModelAndView对象,由视图解析器解析视图,然后,进行页面的跳转。

 

控制器处理方法----》ModelAndView对象----》视图解析器解析视图-----》页面的跳转

意义:视图解析器这样实现 MVC 的充分解耦(model controller 和view)

ModelAndView 对象:包含逻辑名和模型对象视图

视图解析器ViewResolver):解析后的得到最终的视图对象(View), 对于最终究竟采取何种视图对象对模型数据进行渲染,处理器并不关心,

                处理器工作重点聚焦在生产模型数据的工作上,从而实现 MVC 的充分解耦。

特点:

l)  视图解析器的作用比较单一:将逻辑视图解析为一个具体的视图对象。

2) 所有的视图解析器都必须实现 ViewResolver 接口。

常用视图解析器实现类

InternalResourceViewResolver:JSP 是最常见的视图技术,可以使用 InternalResourceViewResolve作为视图解析器

<bean  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- /WEB-INF/page/success.jsp 
			prefix前缀
			suffix后缀
			那么返回值只需要写success
		-->
		<property name="prefix" value="/WEB-INF/page/"></property>
		<property name="suffix" value=".jsp"></property>
</bean>

JstlView(是InternalResourceViewResolver的子类):若项目中使用了JSTL,则SpringMVC 会自动把视图由InternalResourceView转为 JstlView 

注:使用JstlView需要添加两个包

JSTL标签库 全称是指 JSP Standard Tag Library  JSP标准标签库。是一个不断完善的开放源代码的JSP标签库。

标签库则是为了替换代码脚本。这样使得整个jsp页面变得更佳简洁。

taglibs-standard-impl-1.2.1.jar
taglibs-standard-spec-1.2.1.jar

 视图:视图的作用是渲染模型数据,将模型里的数据以某种形式呈现给客户。

为了实现视图模型和具体实现技术的解耦,Spring 在 org.springframework.web.servlet 包中定义了一个高度抽象的 View 接口:

posted @ 2017-08-01 15:33  lamsey16  阅读(303)  评论(0编辑  收藏  举报