freemaker集成spring

<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

猜你喜欢

转载自xiaofancn.iteye.com/blog/2359161