0

いくつかのビジネス/技術的な制約があるため、spring3 MVCマルチビューリゾルバー(JSPおよびVelocity)を使用する必要があります。私はこれをネットで検索しようとしましたが、完璧な解決策を見つけることができませんでした。他の誰かが同じシナリオを経験した可能性があります。では、JSPとVelocityの両方をSPring3MVCアプリケーションのビューリゾルバーとして使用できるかどうかを教えてください。

すべての助けに感謝します。

4

2 に答える 2

1

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>

ビューチェーンの詳細については、こちらをご覧ください

于 2013-01-08T20:07:52.100 に答える
0

はい、複数のビューリゾルバーを構成することは可能です。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>
于 2013-01-08T17:56:27.880 に答える