velocity中$springMacroRequestContext.getMessage($code)

在Java国际化(i18n)中,

vm页面显示内容需要使用 #springMessage("title")

实际运行时发现页面输出$springMacroRequestContext.getMessage($code)。看了一下源代码,#springMessage是一个宏,在spring.vm中定义为

#macro( springMessage $code )$springMacroRequestContext.getMessage($code)#end

原因是因为未找到$springMacroRequestContext...

解决方法:在我们定义视图resolver中加入对spring宏的支持

<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
        ...
        <property name="exposeSpringMacroHelpers" value="true"/>
</bean>

 

 

 
posted @ 2016-10-31 18:16  smurf  阅读(1087)  评论(0)    收藏  举报