1. 程式人生 > >SpringMVC配置多檢視JSP+freemarker,實踐成功!

SpringMVC配置多檢視JSP+freemarker,實踐成功!

天自己配置了一下SpringMVC 的多檢視,本以為很簡單,實踐後發現各種問題,在網上查了很多資料,最後還是選擇了看原始碼,終於知道為什麼失敗了,下面介紹一下.

失敗配置! 成功只是改了幾個小地方.



以上是我在網上搜找到的大部分配置,問題出在,以jsp配置為例:


第一:有一部分人說order屬性不管用,我在看原始碼debug時發現是有用的,他會指定使用哪一個配置進行建立檢視,(數字越小優先順序越高),例如:你的專案大部分是jsp很少一部分是ftl或其他檢視,沒有特別要求的話肯定要jsp優先級別高一些,這樣他會直接匹配jsp檢視,匹配成功後就不會在去找ftl檢視了.

下面進入正題,也是出問題的地方, 

viewNames:屬性代表你在return 檢視的名稱時.檔名必須帶字尾,這樣spring回去判斷是否是以.jsp結尾,

假如說你確實是返回的檔名+字尾名,但是suffix:屬性會在建立檢視前幫你加上字尾.jsp,這樣spring就幫你又加了一遍.jsp,這肯定最後是找不到檔案的會異常.

    部分原始碼:

 

正確配置是


java:


如果說返回時不帶字尾名,


java:


不知道這麼說大家會不會明白,這2個屬性不能都設定,spring後自動幫你找到你要的檢視,也不用重新實現ViewResolver介面,有特殊情況的可以實現自己的邏輯,

http://yunpan.cn/cjBvaI3ehdRQR  提取碼 26d0  想使用git的不大會用 22埠被封,先這麼用吧360雲盤 直接tomcat打包