package com.jcms.taglib;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import freemarker.core.Environment;
import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateDirectiveModel;
import freemarker.template.TemplateException;
import freemarker.template.TemplateModel;
public class SqlDirectiveModel implements TemplateDirectiveModel
{
public void execute(Environment env, Map map, TemplateModel[] model,
TemplateDirectiveBody body) throws TemplateException, IOException
{
body.render(env.getOut());
}
}
<@sql return='v'>
你好
<#if v??>
${v}
</#if>
</@sql>
freemarket如何定义自定义指令内为模板赋值,这样我在指令内便能访问到我return的值啦.995...
Apache FreeMarker
995
Environment env 这个参数有两个方法:
setLocalVariable, setGlobalVariable
setVariable和setGlobalVariable作用范围一样,但我想要的是局部变量,即出标签体变量便销毁.而不是全局变量.
引用来自“孟德军”的答案
setVariable和setGlobalVariable作用范围一样,但我想要的是局部变量,即出标签体变量便销毁.而不是全局变量.