+
 新版

freemarket自定义指令如何在方法体内为模板赋值

孟德军 发布于 2010/11/14 11:27
阅读 1K+
收藏 2
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...

加载中
0
红薯
红薯

Environment env 这个参数有两个方法:

setLocalVariable, setGlobalVariable

0
孟德军
孟德军

setVariable和setGlobalVariable作用范围一样,但我想要的是局部变量,即出标签体变量便销毁.而不是全局变量.

0
山药蛋
山药蛋

引用来自“孟德军”的答案

setVariable和setGlobalVariable作用范围一样,但我想要的是局部变量,即出标签体变量便销毁.而不是全局变量.

这个问题解决了吗?我也遇到了这个问题,希望得到帮助。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部