首页 新闻 会员 周边

实现TemplateDirectiveModel中的excute方法,请问里面的参数都有什么作用

0
悬赏园豆:200 [待解决问题]

@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 执行结束");
}

 

所有园豆奉上,只为求大神能悉心解答

静寂思源的主页 静寂思源 | 初学一级 | 园豆:2
提问于:2013-12-15 12:24
< >
分享
所有回答(1)
1

/**
*
* @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
*/

十字刀疤 | 园豆:202 (菜鸟二级) | 2016-07-20 16:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册