SpringMVC视图解析

SpringMVC如何解析视图

请求处理方法返回值类型

视图解析器类型

完成单一解析逻辑的视图解析器:

InternalResourceViewResolver:内置资源视图解析器

FreeMarkerViewResolver:FreeMarker的视图解析器

BeanNameViewResolver

XmlViewResolver

基于协商的视图解析器

ContentNegotiatingViewResolver

该解析器是Spring3.0新增的,它不负责具体的视图解析,而是作为一个中间人的角色根据请求所要求的MIME类型,从上下文中选择一个适合的视图解析器,再将视图解析工作委托其负责。

基于协商的视图解析器

<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"
	p:order="0" p:defaultContentType="text/html" p:ignoreAcceptHeader="true" 
    p:favorPathExtension="false" p:favorParameter="true" p:parameterName="content">
	<property name="mediaTypes">
		<map>
		       <entry key="html" value="text/html" />
		       <entry key="xml" value="application/xml" />   
		        <entry key="json" value="application/json" />
		</map>
	</property>
	<property name="defaultViews">
	   <list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"
				  p:renderedAttributes="userList" />
<bean class="org.springframework.web.servlet.view.xml.MarshallingView"
				  p:modelKey="userList" p:marshaller-ref="xmlMarshaller" />
	   </list>
	</property>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
	 p:order="100" p:viewClass="org.springframework.web.servlet.view.JstlView"
	 p:prefix="/WEB-INF/views/" p:suffix=".jsp" />
示例:

配置视图解析器:InternalResourceViewResolver(内置资源视图解析器)

在springMVC.xml里配置

<!-- 视图解析器 配置好后它会自动给你加上前缀后缀 -->
  <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  	<!-- 视图前缀 -->
  	<property name="prefix" value="/"></property>
  	<!-- 视图后缀 -->
  	<property name="suffix" value=".jsp"></property>
  </bean>
/**
 * 本来访问result.jsp需要写全
 * 但是视图解析器配置了后缀.jsp所以只需访问result即可。如果有路径后缀为.html便访问不了。
 * @return
 */
@RequestMapping(value="/resu",method=RequestMethod.GET)
public String result(){
	return "lesson04/result";
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值