<bean id="freeMarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
<property name="templateLoaderPath" value="file:///data/tmpl/freemarker/" />
<property name="freemarkerSettings">
<props>
<!-- 更新间隔 -->
<prop key="template_update_delay">60</prop>
<prop key="default_encoding">UTF-8</prop>
<prop key="localized_lookup">false</prop>
<!-- 忽略控制输出异常 -->
<prop key="classic_compatible">true</prop>
<prop key="url_escaping_charset">UTF-8</prop>
<prop key="boolean_format">true,false</prop>
<prop key="time_format">HH:mm:ss</prop>
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
<prop key="date_format">yyyy-MM-dd</prop>
<prop key="number_format">#.##</prop>
<prop key="whitespace_stripping">true</prop>
</props>
</property>
</bean>
@Resource
private freemarker.template.Configuration freemarkerConfiguration;
/**
* user/templ.html
* root 模版数据
* @param templName
* @param root
* @return
*/
public String process(String templName,Object root) {
try {
Template templ =freemarkerConfiguration.getTemplate(templName);
return FreeMarkerTemplateUtils.processTemplateIntoString(templ, root);
} catch (Exception e) {
logger.error(e);
}
return null;
}
spring-mvc.xml
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="configuration" ref="freeMarkerConfiguration"></property>
</bean>
<!-- freemarker视图解析器 -->
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".html" />
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSessionAttributes" value="true" />
<property name="exposeSpringMacroHelpers" value="true" />
<property name="requestContextAttribute" value="rc" />
</bean>
@RequestMapping("/user1")
public String user1(Model model) {
EntityModel u = new EntityModel();
u.setUsername("成功");
u.setAge(12);
u.setTempl(process("user/templ.html", u));
model.addAttribute("user", u);
return "user/templ";
}
http://freemarker.org/docs/index.html