?
This document uses PHP Chinese website manual Release
Portlet MVC中的顯示過程比Web MVC的復(fù)雜一點(diǎn),為了復(fù)用所有Spring Web MVC里
的視圖技術(shù),必須把
PortletRequest
/
PortletResponse
轉(zhuǎn)換到
HttpServletRequest
/
HttpServletResponse
,然后調(diào)用
View
的
render
方法。為此,DispatcherPortlet
使用了一個特殊的servlet:ViewRendererServlet
。
為了DispatcherPortlet
能夠顯示,
必須在web.xml
文件里為你的web應(yīng)用聲明一個
ViewRendererServlet
的實(shí)例,如下:
<servlet> <servlet-name>ViewRendererServlet</servlet-name> <servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ViewRendererServlet</servlet-name> <url-pattern>/WEB-INF/servlet/view</url-pattern> </servlet-mapping>
在實(shí)際執(zhí)行顯示時(shí),DispatcherPortlet
這樣做:
把
WebApplicationContext
作為屬性綁定在請求上,
使用和DispatcherServlet
相同的
WEB_APPLICATION_CONTEXT_ATTRIBUTE
key。
把Model
和
View
對象綁定在請求上,使它們對
ViewRendererServlet
可見。
構(gòu)造
PortletRequestDispatcher
對象,利用
映射到ViewRendererServlet
的/WEB-
INF/servlet/view
URL來執(zhí)行include
操作。
然后,ViewRendererServlet
能夠以合適的參數(shù)
調(diào)用View
的render
方法。
可以通過DispatcherPortlet
的viewRendererUrl
配置參數(shù)來修改ViewRendererServlet
的實(shí)際URL。