那麼,如何配置ViewResolver呢?在Spring中,ViewResolver作爲Spring Bean存在,可以在Spring配置文件中進行配置,例如下面的代碼,配置了jsp相關的viewResolver。
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/views/"/>
- <property name="suffix" value=".jsp"/>
- </bean>
ViewResolver接口是在DispatcherServlet中進行調用的,當DispatcherServlet調用完Controller後,會得到一個ModelAndView對象,然後DispatcherServlet會調用render方法進行視圖渲染。
在這裏需要關於ViewResolver的選擇是通過循環進行的,只選擇第一個符合要求的,因此在定義ViewResolver時,需要注意定義其優先級。
下面就來着重關注一下ViewResolver的類結構。
http://hi.csdn.net/attachment/201009/17/0_12847053098WtX.gif
DispatcherServlet得到View對象後,即調用View的render方法,執行真正的渲染工作。
最後,看一下View的類結構圖http://hi.csdn.net/attachment/201009/17/0_1284708927eRRZ.gif
所有的We MVC框架都有一套它自己的解析視圖的機制,spring MVC也不例外,它使用ViewResolver進行視圖解析,讓用戶在瀏覽器中渲染模型。ViewResolver是一種開箱即用的技術,能夠解析JSP、Velocity模板和XSLT等多種視圖。