<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