我想定义一个标签separator
标签,它在list
标签内,可以在项目之间添加分隔符。
示例代码是:
List<String> users = new ArrayList<String>();
users.add("Jeff");
users.add("Mike");
#{list users, as: 'user'}
#{separator ' + ' /}
<span>${user}</span>
#{/list}
如果我不使用separator
标签,代码将是:
#{list users, as: 'user'}
${user_isFirst ? '' : ' + '}
<span>${user}</span>
#{/list}
生成的 html 代码将是:
<span>Jeff</span> + <span>Mike</span>
我尝试定义一个fastTag
:
public static void _separator(Map<?, ?> args, Closure body, PrintWriter out, GroovyTemplate.ExecutableTemplate template, int fromLine) {
Object value = args.get("arg");
// TODO how to get the value of `as` defined in parent `list` tag?
out.print(value);
}
但问题是在这种情况下我无法获得标签中as
定义的值list
(即user
)。