jfinal自定义freemarker标签

原创
2016/07/08 14:41
阅读数 407

jfinal自定义freemarker标签


    1. config修改freemarkerrender
    public void afterJFinalStart() {
        super.afterJFinalStart();
        FreeMarkerRender.getConfiguration().setSharedVariable("bitch",new LabelDirective());
    }
    
    2.添加对应的标签方法实现
    public class LabelDirective implements TemplateDirectiveModel {
        public void execute(Environment environment, Map map, TemplateModel[] templateModels, TemplateDirectiveBody templateDirectiveBody) throws TemplateException, IOException {
        // 真正开始处理输出内容
        List<User> users = new ArrayList<User>();
        users.add(new User(11, "a", "AAA"));
        users.add(new User(22, "b", "BBB"));
        users.add(new User(33, "c", "CCC"));
        environment.setVariable("users", ObjectWrapper.DEFAULT_WRAPPER.wrap(users));
        templateDirectiveBody.render(environment.getOut());
        }
    }
    
    3.页面调用
    <@bitch name="bitch">
        <#list users as user>
             <option value="${user.username}">${user.username}</option>
        </#list>
    </@bitch>



问题

使用<@bitch> </@bitch>标签时候 ==templateDirectiveBody== 空指针.

<></> 标签之间要有内容

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部