Spring MVC 中自定义视图 @Component 及 配置 多个视图解析器 Excel视图
2016-11-08 13:25
573 查看
首先我们建立一个自己的View实现View接口。要注意在类上面加上@Component的注解,因为看BeanNameViewResolver的源码知道,是直接从ioc容器里面拿的根据名字拿的视图,所以我们得把我们自己写的视图放到容器里面。
HelloView.java
然后在spring配置文件中配置
注意这个order,这个是值越小优先级就越高,我们要把常用的放在后面考虑,不常用的得放在前面,所以这个优先级100已经是很高了,因为看下InternalResourceViewResolver的源码就知道,在它的父类里有order属性。
这个肯定是优先级最低。
这样我们在SpringMVCTest中@RequestMapping配置一下testView,再去index.jsp设置一个跳转。
然后启动服务器,就可以看到效果啦。
顺便说一下如果我们想实现其他视图在render里面渲染即可,比方说Excel视图。我们打开View。
可以看到其实已经有了AbstractExcelView点进去
我们去实现这个buildExcelDocument接口就行。
HelloView.java
package com.hust.springmvc.views; import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; import org.springframework.web.servlet.View; @Component public class HelloView implements View { @Override public String getContentType() { return "text/html"; } @Override public void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception { response.getWriter().print("hello view, time:" + new Date());; } }
然后在spring配置文件中配置
<!-- 配置视图解析器 BeanNameViewResolver 解析器: 使用视图的名字来解析视图 --> <!-- 通过order 属性来定义视图解析器的优先级, order 值越小优先级越高--> <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"> <property name="order" value="100"></property> </bean>
注意这个order,这个是值越小优先级就越高,我们要把常用的放在后面考虑,不常用的得放在前面,所以这个优先级100已经是很高了,因为看下InternalResourceViewResolver的源码就知道,在它的父类里有order属性。
这个肯定是优先级最低。
这样我们在SpringMVCTest中@RequestMapping配置一下testView,再去index.jsp设置一个跳转。
然后启动服务器,就可以看到效果啦。
顺便说一下如果我们想实现其他视图在render里面渲染即可,比方说Excel视图。我们打开View。
可以看到其实已经有了AbstractExcelView点进去
我们去实现这个buildExcelDocument接口就行。
相关文章推荐
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- spring mvc基础篇(二):初识视图解析器,核心配置文件的位置,乱码处理
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC 多个视图解析器配置
- Spring MVC的多视图解析器配置及与Freemarker的集成
- SPRING MVC 的 配置 包括 包扫描 视图解析器 文件上传解析器 拦截器等
- Spring mvc 自定义视图解析(pdf和excel)
- Spring MVC的多视图解析器配置及与Freemarker的集成
- spring mvc对视图解析器controller返回数据转换json的处理的相关配置
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC 自学杂记(六) -- 多视图解析器配置
- 基于XML配置的Spring MVC(所需jar包,web.xml配置,处理器配置,视图解析器配置)
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC视图解析器:配置多个视图解析器的优先级
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC视图解析器:配置多个视图解析器的优先级
- Spring MVC的多视图解析器配置及与Freemarker的集成