@Override
public void execute(Environment env, Map(这个是标签传过来的参数,对不对) params, TemplateModel[] model, TemplateDirectiveBody body) throws TemplateException, IOException {
System.out.println("执行开始");
List<UserInfo> userlist = new ArrayList<UserInfo>();
userlist.add(new UserInfo(1, "001", "张龙", "123456"));
userlist.add(new UserInfo(2, "002", "赵虎", "123456"));
userlist.add(new UserInfo(3, "003", "王朝", "123456"));
userlist.add(new UserInfo(4, "004", "马汉", "123456"));
env.setVariable("userlist", DEFAULT_WRAPPER.wrap(userlist));
body.render(env.getOut());
System.out.println("userListDirective 执行结束");
}
所有园豆奉上,只为求大神能悉心解答
/**
*
* @param env 系统环境变量,通常用它来输出相关内容,如Writer out = env.getOut();
* @param params 自定义标签传过来的对象,其key=自定义标签的参数名,value值是TemplateModel类型,而TemplateModel是一个接口类型,通常我们都使用TemplateScalarModel接口来替代它获取一个String 值,如TemplateScalarModel.getAsString();当然还有其它常用的替代接口,如TemplateNumberModel获取number,TemplateHashModel等
* @param loopVars 循环替代变量
* @param body 用于处理自定义标签中的内容;当标签是<@myDirective />格式时,body=null
*/