当前位置: 首页>>代码示例>>Java>>正文


Java Template.createProcessingEnvironment方法代码示例

本文整理汇总了Java中freemarker.template.Template.createProcessingEnvironment方法的典型用法代码示例。如果您正苦于以下问题:Java Template.createProcessingEnvironment方法的具体用法?Java Template.createProcessingEnvironment怎么用?Java Template.createProcessingEnvironment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在freemarker.template.Template的用法示例。


在下文中一共展示了Template.createProcessingEnvironment方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: render

import freemarker.template.Template; //导入方法依赖的package包/类
public Environment render(FreemarkerSectionResult result, Writer writer)
{
	Thread currentThread = Thread.currentThread();
	ClassLoader origLoader = currentThread.getContextClassLoader();
	Template template = result.getTemplate();
	Map<String, Object> rootObjects = new HashMap<String, Object>();
	addRootObjects(rootObjects, result, writer);
	Map<String, Object> extraObjects = result.getExtraObjects();
	if( extraObjects != null )
	{
		rootObjects.putAll(extraObjects);
	}
	currentThread.setContextClassLoader(getContextClassLoader());
	try
	{
		Environment environment = template.createProcessingEnvironment(rootObjects, writer);
		setupEnvironment(writer, result, environment);
		environment.process();
		finishedRender(writer, result, environment);
		return environment;
	}
	catch( Throwable te )
	{
		LOGGER.error("Error rendering " + result.getTemplate().getName());
		throw Throwables.propagate(te);
	}
	finally
	{
		currentThread.setContextClassLoader(origLoader);
	}
}
 
开发者ID:equella,项目名称:Equella,代码行数:32,代码来源:AbstractFreemarkerFactory.java

示例2: process

import freemarker.template.Template; //导入方法依赖的package包/类
/**
 * @see org.alfresco.service.cmr.repository.TemplateProcessor#process(java.lang.String, java.lang.Object, java.io.Writer)
 */
public void process(String template, Object model, Writer out)
{
    if (template == null || template.length() == 0)
    {
        throw new IllegalArgumentException("Template name is mandatory.");
    }
    if (model == null)
    {
        throw new IllegalArgumentException("Model is mandatory.");
    }
    if (out == null)
    {
        throw new IllegalArgumentException("Output Writer is mandatory.");
    }
    
    try
    {
        long startTime = 0;
        if (logger.isDebugEnabled())
        {
            logger.debug("Executing template: " + template);// + " on model: " + model);
            startTime = System.currentTimeMillis();
        }
        
        Template t = getConfig().getTemplate(template);
        if (t != null)
        {
            try
            {
                // perform the template processing against supplied data model
                Object freeMarkerModel = convertToFreeMarkerModel(model);
                Environment env = t.createProcessingEnvironment(freeMarkerModel, out);
                // set the locale to ensure dates etc. are appropriate localised
                env.setLocale(I18NUtil.getLocale());
                env.process();
            }
            catch (Throwable err)
            {
                throw new TemplateException(MSG_ERROR_TEMPLATE_FAIL, new Object[] {err.getMessage()}, err);
            }
        }
        else
        {
            throw new TemplateException(MSG_ERROR_NO_TEMPLATE, new Object[] {template});
        }
        
        if (logger.isDebugEnabled())
        {
            long endTime = System.currentTimeMillis();
            logger.debug("Time to execute template: " + (endTime - startTime) + "ms");
        }
    }
    catch (IOException ioerr)
    {
        throw new TemplateException(MSG_ERROR_TEMPLATE_IO, new Object[] {template}, ioerr);
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:61,代码来源:FreeMarkerProcessor.java


注:本文中的freemarker.template.Template.createProcessingEnvironment方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。