春季3个MVC多视图解析器(JSP和Velocity)(Spring 3 MVC Multiple

2019-08-06 02:24发布

由于一些商业/技术限制,我们应该使用spring3 MVC多个视图解析器(JSP和Velocity)。 我试着在网上搜索关于这个,但我无法找到完美的解决方案。 可能别人已经经历了同样的场景。 所以,能不能请你让我知道是否有可能在SPring3 MVC应用程序中使用JSP和Velocity作为VEW解析器

所有的帮助表示赞赏。

Answer 1:

Spring支持多个视图解析器。 您可以通过添加多个解析器到您的应用程序上下文连锁视图解析器,并使用命令属性来指定顺序。

您可以使用这些链JSP和速度一样 -

    <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>

了解更多有关视图链接在这里



Answer 2:

是的,这是可以配置多个视图解析器,只要确保您订购的速度比基于JSP视图解析器一个更高:

<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>


文章来源: Spring 3 MVC Multiple view resolvers(Jsp and Velocity)