2017-02-23 16:29

@quadrapop 在最底层来做 filter 是最彻底方式,在高层去做容易漏掉一些地方

2017-02-23 16:26

Db.update("insert into ...") 以及 Db.update("update ....") 即可,just do it

2017-02-23 16:25

@Ferrari8899 建议用 main 方法去跑项目, jetty 的 maven 插件启动其实很慢,会影响开发效率

2017-02-23 16:04

建议在 DruidPlugin 注入一个 druid 官方的 Filter 来做,druid 的 filter 可以在最底层拦截 sql 操作,找下相关文档

2017-02-23 16:02

已下载,相当不错,有需要的来俱乐部找下 @天蓬小猪

2017-02-23 15:47

纯配置问题,下载首页的 jfinal demo 项目,然后用 eclipse 的 import maven project,导入完成后,直接运行一下 DemoConfig 即可运行起来,不用改任何东西

2017-02-23 14:51

缺少一个 jar 包, cos.jar ,在首页下载 jfinal-3.0-all.zip 这个文件,然后里面有一个说明文件告诉了各种功能所需要的 jar 包,并且提供了所有 jar 包,按需取用

2017-02-23 11:55

renderFile 仅用于文件下载功能,所以在 FileRender 实现类里面去除了对浏览器的 cache 控制,如果确实需要缓存功能,可以通过定义一个 public MyFileRender extends FileRender 的方式加入缓存控制,这样用一下: render(new MyFileRender(...))

通常对于需要缓存的静态资源,都是让 nginx 或 tomcat 去接管了,不需要使用 renderFile 去操作

2017-02-23 11:51

Db.batchSave(...) 仅仅是对 JDBC 的 batch 执行 sql 功能的一个极薄封装,而 JDBC 的 batch 功能使用的是 PreparedStatement ,只能接受一条 sql,这也决定了 Db.batchSave 只能接受一条 sql + 多组参数的工作模式

Db.batchXxx(...),带 List sql 的参数 api 工作模式是使用的 Statement,可以接受多条 sql,但坏处是不接受参数,所以要将所有 sql 拼接好

Db.batchXxx(...),带 List modelOrRecord 的工作模式也是使用的 Statement,可以接受一条 sql 与多个参数,但参数名是固定的

只有以上三类 batch 方法,使用者需要对此做出权衡

2017-02-22 23:15

你还可以通过自定义指令的方式,去扩展任意的指令,非常简单的实现各种各样的功能,参考一下 jfinal 的 #escape #date 指令的实现,这两个指令是扩展出来的

2017-02-22 23:12

我再补充一下 jfinal 手册中还没添加的内容,有关日期数据格式化输出的方法,只需要使用 #date 指令即可:
1:#date(value) 使用默认格式输出日期型数据,默认格式可以通过 me.setDatePattern(...) 进行配置

2:#date(value, "yyyy-MM-dd HH:mm:ss") 使用指定格式输出日期型数据

2017-02-22 23:09

jfinal template 可以用于任何 java 开发环境,并不限定于 web 项目,所以 template 没有与 web 中的 context path 发生耦合关联,因此,默认是不支持的

但是可以极其简单的支持,只需要在 configHandler(Handlers me) 中添加一句:
me.add(new ContextPathHandler("ctxPath"));
就可以在模板中使用如下方式获取了:
#(ctxPath)

2017-02-22 21:51

代码生成用的是 jfinal template 么?

2017-02-22 21:50

MixedJsonFactory 建议加一下

2017-02-22 21:46

倍儿爽啊