public class SumDirective implements Directive { @Override public void render(Environment env, Map<String, Object> args, TemplateDirectiveBody body) throws IOException, TemplateException { int num1 = Integer.parseInt(args.get("num1").toString()); int num2 = Integer.parseInt(args.get("num2").toString()); int sum = num1 + num2; env.getOut().write(String.valueOf(sum)); } } Template template = engine.getTemplate("template.tpl"); template.addDirective("sum", new SumDirective()); template.render(); public class UpperCaseFilter implements Filter { @Override public Object filter(Object value, Map<String, Object> args) { String str = value.toString(); return str.toUpperCase(); } } Template template = engine.getTemplate("template.tpl"); template.addFilter("upper", new UpperCaseFilter()); template.render(); public class AverageFunction implements Function { @Override public Object execute(Object[] args) { int num1 = Integer.parseInt(args[0].toString()); int num2 = Integer.parseInt(args[1].toString()); int average = (num1 + num2) / 2; return average; } } Template template = engine.getTemplate("template.tpl"); template.addFunction("average", new AverageFunction()); template.render();


上一篇:
下一篇:
切换中文