Java 带FreeMarker的Spring MVC:特定于语言环境的模板
我们正在对一个简单的Spring MVC应用程序进行原型设计,只需一次扭转: 我们将为不同的地区提供单独的FreeMarker模板文件。 因此,对于使用locale US English的视图“homepage”,viewresolver应该找到模板文件homepage\u en_US.ftl 如果失败了,homepage_en.ftl,homepage.ftl失败了 就像属性文件一样 我知道最好有一个带有消息的模板,但是模板文件会暴露给那些比资源抽象更容易复制粘贴的用户,他们可能需要为不同的地区进行实际的布局更改Java 带FreeMarker的Spring MVC:特定于语言环境的模板,java,spring,model-view-controller,internationalization,freemarker,Java,Spring,Model View Controller,Internationalization,Freemarker,我们正在对一个简单的Spring MVC应用程序进行原型设计,只需一次扭转: 我们将为不同的地区提供单独的FreeMarker模板文件。 因此,对于使用locale US English的视图“homepage”,viewresolver应该找到模板文件homepage\u en_US.ftl 如果失败了,homepage_en.ftl,homepage.ftl失败了 就像属性文件一样 我知道最好有一个带有消息的模板,但是模板文件会暴露给那些比资源抽象更容易复制粘贴的用户,他们可能需要为不同的地
实现这一点最灵活的方法是什么?这是默认行为 我的视图解析器定义如下:
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="cache" value="true" />
<property name="prefix" value="/ftl/" />
<property name="suffix" value=".ftl" />
<property name="exposeSpringMacroHelpers" value="true" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSessionAttributes" value="true" />
</bean>
。。。当要求查看foo
时,它会选择foo_en.ftl
而不是foo.ftl
如果您使用的是自定义视图解析器,您可能希望让它使用org.springframework.web.servlet.viewAbstractTemplateViewResolver
,这样您就可以免费获得所有酷行为了