@SuppressWarnings("rawtypes") @Override public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { String name = DirectiveKit.getRequiredParam(params, "name"); params.remove("name"); if (!name.endsWith(".ftl")) { name = name + ".ftl"; } String encoding = DirectiveKit.getParam(params, "encoding", StringPool.UTF_8); String includeTemplateName = TemplateCache.getFullTemplatePath(env, getTemplatePath(env), name); Configuration configuration = env.getConfiguration(); final Template template = configuration.getTemplate(includeTemplateName, env.getLocale(), encoding, true); for (Object key : params.keySet()) { TemplateModel paramModule = new SimpleScalar(params.get(key).toString()); env.setVariable(key.toString(), paramModule); } env.include(template); }
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { String name = DirectiveUtils.getRequiredParam(params, "name"); String encoding = DirectiveUtils.getParam(params, "encoding",null); String includeTemplateName = TemplateCache.getFullTemplatePath(env, getTemplatePath(env), name); env.include(includeTemplateName, encoding, true); }
static Template getTemplate(String systemId) throws IOException { Environment env = Environment.getCurrentEnvironment(); String encoding = env.getTemplate().getEncoding(); if (encoding == null) { encoding = env.getConfiguration().getEncoding(env.getLocale()); } String templatePath = env.getTemplate().getName(); int lastSlash = templatePath.lastIndexOf('/'); templatePath = lastSlash == -1 ? "" : templatePath.substring(0, lastSlash + 1); systemId = TemplateCache.getFullTemplatePath(env, templatePath, systemId); Template raw = env.getConfiguration().getTemplate(systemId, env.getLocale(), encoding, false); return raw; }
templateNameString = TemplateCache.getFullTemplatePath(env, templatePath, templateNameString); includedTemplate = env.getTemplateForInclusion(templateNameString, enc, parse);