由于一些业务/技术限制,我们应该使用spring3 MVC多视图解析器(JSP和Velocity)。我试图在网上搜索,但我找不到完美的解决方案。可能是别人经历过相同的情况。所以请你让我知道是否有可能使用JSP和Velocity的作为vew解析器在SPring3 MVC应用程序Spring 3 MVC多视图解析器(Jsp和Velocity)
所有帮助表示赞赏。
由于一些业务/技术限制,我们应该使用spring3 MVC多视图解析器(JSP和Velocity)。我试图在网上搜索,但我找不到完美的解决方案。可能是别人经历过相同的情况。所以请你让我知道是否有可能使用JSP和Velocity的作为vew解析器在SPring3 MVC应用程序Spring 3 MVC多视图解析器(Jsp和Velocity)
所有帮助表示赞赏。
Spring支持多个视图解析器。您可以通过向应用程序上下文添加多个解析器来链接视图解析器,并使用order属性指定排序。
可以使用链这些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>
了解更多有关视图链接here
以上将不会工作Avinash,原因是基于JSP的ViewResolver具有更高的优先级,它会得到首先选择,基于JSP的viewresolver的问题在于它是对Req的调用uestDispatcher,它永远不会返回一个空视图,让调度员尝试不同的视图解析器。在我的答案中,基于JSP的视图解析器是最后一个。 –
thnx建议.....更新了订单 –
非常感谢Biju Kunjummen和Avinash T的详细解释。 – user1635014
是的,这是可以配置多个视图解析器,只要确保您订购的速度比基于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>
你可以有多个视图解析器 [你可能需要阅读这个链接的内容](http://stackoverflow.com/questions/2288272/multiple-view-resolvers-in-spring-mvc) –