jfinal自定义freemarker标签
时间:2022-04-27
本文章向大家介绍jfinal自定义freemarker标签,主要内容包括jfinal自定义freemarker标签、问题、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
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== 空指针.
<></> 标签之间要有内容
- Android 进程回收之LowMemoryKiller原理篇
- 邮件发送功能开发
- Vuejs和其他前端框架的对比
- 详述 IntelliJ IDEA 中恢复代码的方法
- C# 通过IEnumberable接口和IEnumerator接口实现自定义集合类型foreach功能
- 微信小程序之picker组件
- 详述 IntelliJ IDEA 中恢复代码的方法「进阶篇」
- mac环境下mongodb的安装和使用
- C# 终极基类Object介绍
- EF基础知识小记五(一对多、多对多处理)
- 字符串的方法汇总
- Kotlin和anko融合进行Android开发
- EF基础知识小记六(使用Code First建模自引用关系,常用于系统菜单、文件目录等有层级之分的实体)
- Vue.js简介
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- K8S 生态周报| Istio v1.7.1 发布
- MongoDB设计方法及技巧
- 我要以血和泪的经历告诉你,这个 bug 太难解决了
- Loki和Fluentd的那点事儿
- 恕我直言你可能真的不会java第9篇-元素的匹配与查找
- 恕我直言你可能真的不会java第8篇-函数式接口
- 突破 DockerHub 限制,全镜像加速服务
- 恕我直言你可能真的不会java第7篇:像使用SQL一样排序集合
- K8S 生态周报| KIND v0.9 发布带来众多更新
- oracle 数据回滚,恢复误删的数据,闪回表功能的使用
- C语言 | 关于结构体内存对齐,看这篇就够了
- Python 图像处理篇-利用opencv库展示本地图片实例演示
- Python 图像处理篇-利用opencv库和numpy库读取包含中文路径下的本地图片实例演示
- 从头创建您自己的vue.js——第2部分(虚拟DOM基础)
- Manage Jenkins报错:"依赖错误: 部分插件由于缺少依赖无法加载...",解决办法