2016-11-07 17:29

dp 与 arp 都未调用 start() 方法,必然是数据源也没启动、映射也没有被执行,这个在 jfinal 手册中有说明,当 active record plugin 用于非 web 项目时,需要手动调用 start() 方法

用于 web 项目时,该 start() 方法是 jfinal 帮你调用的

2016-11-07 17:27

在 YourJFinalConfig 中添加一个 public void afterJFinalStart() ,在这个方法里面添加上需要项目启动完毕后需要被执行的代码即可打完收工,jfinal 手册中有说明

2016-11-07 12:22

异常信息中全程没有 "jfinal" 出现,是怎么启动的

2016-11-07 11:03

一般是对库、表、字段直接指定字符集,然后在 jdbcUrl 中也可以通过参数指定一次

2016-11-07 11:02

使用一下 Db.update(...) 试试

2016-11-07 11:00

感谢反馈,已做备忘,jfinal 2.3 会考虑这个地方返回什么最恰当

2016-11-07 09:52

注意,上述操作都在 handleError 中做的

2016-11-07 09:47

其实,只要在 handleError 中直接 renderJson() 就可以输出 json 了,还可以通过 getAttrNames() 得到所有错误的列表的 key 值,然后迭代得到所有错误信息,然后自由封装再 renderJson 会更加灵活

2016-11-07 09:37

设置一下开发模式即可: me.setDevMode(true)

因为 jfinal 下的 freemarker 会默认对 ftl 文件缓存一个小时,当然你还可以直接对此设置进行配置,从而不必设置开发模式,设置为 0 就是不缓存:
me.setFreeMarkerTemplateUpdateDelay(0)

2016-11-05 17:42

数据到达后端以后,用 java 自带的 BASE64Decoder 将 base64 编码的数据转成图片原始数据,然后写入文件即可

2016-11-05 17:39

搜索功能必然会有,不要着急

2016-11-05 09:44

jfinal 2.3 会将 ModelBuilder RecordBuilder 抽象出来放在 Dialect中,这样就可以让开发者自由定制数据的获取以及转换, jfinal 也会提供默认实现

https://my.oschina.net/calfer/blog/140034 这篇贴子中的改进,已经收藏,会进行处理,感谢反馈

2016-11-04 15:46

@FS心情 jfinal 手册在首页有下载,此外,jfinal 社区的文档频道也在撰写中

2016-11-04 15:45

@FS心情 api 去 http://search.maven.org 下载一份

2016-11-04 15:29

搞清楚 Handler 中的几个参数以及 next 属性,这些事情就全明白了:
0:handle 是一个单链表结构,前方是使用 me.add(...) 方式添加的 handle,单链表未尾是 ActionHandler 对象,是 jfinal 处理动态请求的核心 Handler

1:target 参数是本次请求的资源,是 url 去除了 http://域名 以及 queryString 剩下的部分

2:req、res 这两个参数不再多说

3:isHandled 这个参数是告诉 tomcat、jetty 要不要处理本次请求,当 isHandled[0] = true 时,则 tomcat、jetty 不会处理该请求,通常你自己处理了请求,例如做了 redirect 等操作,就不需要 tomcat jetty 再处理了,就必须设置 isHandled[0] = true,否则会报一个 IllegalStateException 异常

4:next 这个是父类中的属性,可以使用 next.handle(...) 将本次请求传递给下一个 handler,所以,当你自己处理了请求,不希望传递的时候,就不要调用 next.handle(...),尤其注意在分支语句中要使用 return,才能避免在分支的下方再次执行 next.handle(...),很多菜鸟都会犯这种错误

5:HandlerKit 中有一些封装好的方法便于做重定向等操作