いくつかのビジネス/技術的な制約があるため、spring3 MVCマルチビューリゾルバー(JSPおよびVelocity)を使用する必要があります。私はこれをネットで検索しようとしましたが、完璧な解決策を見つけることができませんでした。他の誰かが同じシナリオを経験した可能性があります。では、JSPとVelocityの両方をSPring3MVCアプリケーションのビューリゾルバーとして使用できるかどうかを教えてください。
すべての助けに感謝します。
いくつかのビジネス/技術的な制約があるため、spring3 MVCマルチビューリゾルバー(JSPおよびVelocity)を使用する必要があります。私はこれをネットで検索しようとしましたが、完璧な解決策を見つけることができませんでした。他の誰かが同じシナリオを経験した可能性があります。では、JSPとVelocityの両方をSPring3MVCアプリケーションのビューリゾルバーとして使用できるかどうかを教えてください。
すべての助けに感謝します。
Springは複数のビューリゾルバーをサポートしています。アプリケーションコンテキストに複数のリゾルバーを追加してビューリゾルバーをチェーンし、orderプロパティを使用して順序を指定します。
これらのjspとvelocityのチェーンを次のように使用できます-
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
<property name="order" value="2" />
</bean>
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/velocity/"/>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="cache" value="true"/>
<property name="prefix" value=""/>
<property name="suffix" value=".vm"/>
<property name="order" value="1" />
</bean>
ビューチェーンの詳細については、こちらをご覧ください
はい、複数のビューリゾルバーを構成することは可能です。JSPベースのビューリゾルバーよりも1つ高いVelocityを注文するようにしてください。
<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver" p:order="0">
...
</bean
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="1">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>