All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.onetwo.common.spring.ftl.DefaultTemplateParser Maven / Gradle / Ivy

package org.onetwo.common.spring.ftl;

import java.io.StringWriter;

import org.onetwo.common.exception.BaseException;
import org.onetwo.common.utils.LangUtils;

import freemarker.template.Template;
import freemarker.template.TemplateException;

public class DefaultTemplateParser implements TemplateParser {
	
	final private AbstractFreemarkerTemplateConfigurer freemarkerTemplateConfigurer;
	
	public DefaultTemplateParser(
			AbstractFreemarkerTemplateConfigurer freemarkerTemplateConfigurer) {
		super();
		this.freemarkerTemplateConfigurer = freemarkerTemplateConfigurer;
	}

	public String parse(String name, Object rootMap){
		Template template = freemarkerTemplateConfigurer.getTemplate(name);
		StringWriter sw = new StringWriter();
		try {
			template.process(rootMap, sw);
		} catch (TemplateException e) {
			e.printStackTrace();
			Throwable cause = e.getCause();
			if(cause!=null){
				throw LangUtils.asBaseException("parse tempalte error : " + cause.getMessage(), cause);
			}else{
				throw new BaseException("parse tempalte error : " + e.getMessage(), e);
			}
		} catch (Exception e) {
			throw new BaseException("parse tempalte error : " + e.getMessage(), e);
		}
		return sw.toString();
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy