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="/demo04/test1" 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="/demo04/test1",method=RequestMethod.GET)  
public String result(){  
    return "lesson04/result";  
}  


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值