javascript
Spring MVC 中自定义视图 @Component 及 配置 多个视图解析器 Excel视图
首先我們建立一個(gè)自己的View實(shí)現(xiàn)View接口。要注意在類(lèi)上面加上@Component的注解,因?yàn)榭碆eanNameViewResolver的源碼知道,是直接從ioc容器里面拿的根據(jù)名字拿的視圖,所以我們得把我們自己寫(xiě)的視圖放到容器里面。
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 {@Overridepublic String getContentType() {return "text/html";}@Overridepublic void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response)throws Exception {response.getWriter().print("hello view, time:" + new Date());;} }然后在spring配置文件中配置
<!-- 配置視圖解析器 BeanNameViewResolver 解析器: 使用視圖的名字來(lái)解析視圖 --><!-- 通過(guò)order 屬性來(lái)定義視圖解析器的優(yōu)先級(jí), order 值越小優(yōu)先級(jí)越高--><bean class="org.springframework.web.servlet.view.BeanNameViewResolver"><property name="order" value="100"></property></bean>注意這個(gè)order,這個(gè)是值越小優(yōu)先級(jí)就越高,我們要把常用的放在后面考慮,不常用的得放在前面,所以這個(gè)優(yōu)先級(jí)100已經(jīng)是很高了,因?yàn)榭聪翴nternalResourceViewResolver的源碼就知道,在它的父類(lèi)里有order屬性。
這個(gè)肯定是優(yōu)先級(jí)最低。
這樣我們?cè)赟pringMVCTest中@RequestMapping配置一下testView,再去index.jsp設(shè)置一個(gè)跳轉(zhuǎn)。
然后啟動(dòng)服務(wù)器,就可以看到效果啦。
順便說(shuō)一下如果我們想實(shí)現(xiàn)其他視圖在render里面渲染即可,比方說(shuō)Excel視圖。我們打開(kāi)View。
可以看到其實(shí)已經(jīng)有了AbstractExcelView點(diǎn)進(jìn)去
我們?nèi)?shí)現(xiàn)這個(gè)buildExcelDocument接口就行。
總結(jié)
以上是生活随笔為你收集整理的Spring MVC 中自定义视图 @Component 及 配置 多个视图解析器 Excel视图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux下查看系统进程占用的句柄数
- 下一篇: 模板重搭建計劃