目录
第 0 章 升级到 3.1 ............................................................................................................................................. 8
0.1 概述 .......................................................................................................................................................... 8
0.2 configEngine .............................................................................................................................................. 8
0.3 RenderFactory ........................................................................................................................................... 8
0.4 baseViewPath ............................................................................................................................................ 9
0.5 其它 ........................................................................................................................................................ 10
第一章 快速上手 ............................................................................................................................................. 11
1.1 创建项目 ................................................................................................................................................ 11
1.2 放入 JFinal 库文件 ................................................................................................................................. 13
1.3 修改 web.xml ......................................................................................................................................... 13
1.4 添加 java 文件 ....................................................................................................................................... 13
1.5 启动项目 ................................................................................................................................................ 14
1.6 开启浏览器看效果 ................................................................................................................................ 15
1.7 Maven 下开发 ......................................................................................................................................... 15
1.8 IDEA 下开发 ............................................................................................................................................ 16
1.9 特别声明 ................................................................................................................................................ 16
第二章 JFinalConfig .......................................................................................................................................... 17
2.1 概述 ........................................................................................................................................................ 17
2.2 configConstant(Constants me) ................................................................................................................ 17
2.3 configRoute(Routes me) .......................................................................................................................... 17
2.4 configEngine(Engine me) ......................................................................................................................... 20
2.5 configPlugin (Plugins me) ........................................................................................................................ 21
2.6 configInterceptor (Interceptors me) ....................................................................................................... 21
2.7 configHandler (Handlers me) .................................................................................................................. 21
2.8 afterJFinalStart()与 beforeJFinalStop() .................................................................................................... 22
2.9 PropKit ..................................................................................................................................................... 22
第三章 Controller ............................................................................................................................................. 23
3.1 概述 ........................................................................................................................................................ 23
3.2 Action ....................................................................................................................................................... 23
3.3 getPara 系列方法 .................................................................................................................................... 23
3.4 getBean 与 getModel 系列方法 ............................................................................................................. 24
3.5 setAttr 方法 ............................................................................................................................................. 25
3.6 getFile 文件上传 ..................................................................................................................................... 26
3.7 renderFile 文件下载 ............................................................................................................................... 26
3.8 session 操作方法 .................................................................................................................................... 26
3.9 render 系列方法 ..................................................................................................................................... 26
第四章 AOP ...................................................................................................................................................... 29
4.1 概述 ........................................................................................................................................................ 29
4.2 Interceptor ............................................................................................................................................... 29
4.3 Before ...................................................................................................................................................... 30
4.4 Clear ......................................................................................................................................................... 31
4.5 Interceptor 的触发 .................................................................................................................................. 32
4.6 Duang、Enhancer ................................................................................................................................... 33
4.7 Inject 拦截器 ........................................................................................................................................... 34
4.7 Routes 级别拦截器 ................................................................................................................................. 34
第五章 ActiveRecord ........................................................................................................................................ 36
5.1 概述 ........................................................................................................................................................ 36
5.2 ActiveRecordPlugin .................................................................................................................................. 36
5.3 Model....................................................................................................................................................... 36
5.4 JFinal 独创 Db + Record 模式 ................................................................................................................. 38
5.5 paginate 分页支持 .................................................................................................................................. 39
5.6 声明式事务 ............................................................................................................................................ 40
5.7 Cache ....................................................................................................................................................... 41
5.8 Dialect 多数据库支持 ............................................................................................................................. 41
5.9 表关联操作 ............................................................................................................................................ 41
5.10 复合主键 .............................................................................................................................................. 42
5.11 Oracle 支持 ........................................................................................................................................... 43
5.11 Sql 管理与动态生成 ............................................................................................................................. 45
5.11.1 基本配置 ....................................................................................................................................... 45
5.11.2 sql 指令 .......................................................................................................................................... 45
5.11.3 para 指令 ........................................................................................................................................ 46
5.11.4 namespace 指令 ............................................................................................................................. 47
5.11.5 分页用法 ....................................................................................................................................... 48
5.11.6 高级用法 ....................................................................................................................................... 48
5.11.7 最佳实践 ....................................................................................................................................... 50
5.12 多数据源支持 ...................................................................................................................................... 52
5.13 任意环境下使用 ActiveRecord............................................................................................................ 53
5.14 Generator 与 JavaBean ......................................................................................................................... 54
第六章 Template Engine .................................................................................................................................. 57
6.1 概述 ........................................................................................................................................................ 57
6.2 configEngine ............................................................................................................................................ 57
6.3 表达式 .................................................................................................................................................... 58
6.3.1 与 java 规则基本相同的表达式..................................................................................................... 58
6.3.2 属性取值表达式扩展 ..................................................................................................................... 59
6.3.3 静态属性访问 ................................................................................................................................. 59
6.3.4 静态方法调用 ................................................................................................................................. 59
6.3.5 空合并安全取值调用操作符 ......................................................................................................... 60
6.3.6 单引号字符串 ................................................................................................................................. 60
6.3.7 相等与不等比较表达式增强 ......................................................................................................... 61
6.3.8 布尔表达式增强 ............................................................................................................................. 61
6.3.9 范围数组定义表达式 ..................................................................................................................... 62
6.3.10 Map 定义表达式 ............................................................................................................................ 62
6.3.11 逗号表达式 ................................................................................................................................... 63
6.3.12 从 java 中去除的运算符 .............................................................................................................. 63
6.4 指令 ........................................................................................................................................................ 63
6.4.1 输出指令#( ) .................................................................................................................................... 63
6.4.2 if 指令 ............................................................................................................................................... 64
6.4.3 for 指令 ............................................................................................................................................ 65
6.4.4 set 指令 ............................................................................................................................................ 67
6.4.5 include 指令 ..................................................................................................................................... 68
6.4.6 render 指令 ...................................................................................................................................... 69
6.4.7 define 指令 ....................................................................................................................................... 69
6.4.8 模板函数调用 ................................................................................................................................. 71
6.4.9 date 指令 .......................................................................................................................................... 72
6.4.10 指令扩展 ....................................................................................................................................... 73
6.4.11 通过普通 java 类扩展 .................................................................................................................. 75
6.4.12 通过共享对象扩展 ....................................................................................................................... 75
6.4.13 注释 ............................................................................................................................................... 76
6.4.14 非解析块 ....................................................................................................................................... 76
6.5 任意环境下使用 Engine ........................................................................................................................ 77
6.5.1 基本用法 ......................................................................................................................................... 77
6.5.2 进阶用法 ......................................................................................................................................... 77
6.5.3 Engine 对象管理 .............................................................................................................................. 78
第七章 EhCachePlugin ..................................................................................................................................... 79
7.1 概述 ........................................................................................................................................................ 79
7.2 EhCachePlugin ......................................................................................................................................... 79
7.3 CacheInterceptor ..................................................................................................................................... 79
7.4 EvictInterceptor ....................................................................................................................................... 80
7.5 CacheKit ................................................................................................................................................... 80
7.6 ehcache.xml 简介 .................................................................................................................................... 81
第八章 RedisPlugin .......................................................................................................................................... 82
8.1 概述 ........................................................................................................................................................ 82
8.2 RedisPlugin .............................................................................................................................................. 82
8.3 Redis 与 Cache......................................................................................................................................... 82
8.4 非 web 环境使用 RedisPlugin ............................................................................................................... 83
第九章 Cron4jPlugin ........................................................................................................................................ 84
9.1 概述 ........................................................................................................................................................ 84
9.2 Cron4jPlugin ............................................................................................................................................ 84
9.3 使用外部配置文件 ................................................................................................................................ 85
9.4 高级用法 ................................................................................................................................................ 86
第十章 Validator .............................................................................................................................................. 87
10.1 概述 ...................................................................................................................................................... 87
10.2 Validator ................................................................................................................................................ 87
10.3 Validator 配置 ....................................................................................................................................... 87
第十一章 国际化 ............................................................................................................................................. 89
11.1 概述 ...................................................................................................................................................... 89
11.2 I18n 与 Res ............................................................................................................................................ 89
11.3 I18nInterceptor ..................................................................................................................................... 90
第十二章 JFinal 架构及扩展 ........................................................................................................................... 92
12.1 概述 ...................................................................................................................................................... 92