2017-11-07 10:58

NullPointerException 不用多说什么了吧? 单步调试分分钟解决

2017-11-07 10:42

@guanxb jfinal club 中有很多实用的细节,很多用法都是最简单有效的用法,节省无数时间

例如用一个 UploadController 接管了 ueditor 所有的上传功能,包括接管配置文件的响应,这样不仅可以干掉 JSP 文件还可以干掉 ueditor 的 jar 包

2017-11-07 10:29

jfinal 是 MVC + ORM 框架,在本质上与 maven 没有一丝一毫的关系,所以你以前有关 maven 的积累完全有用

在首页右侧下载 jfinal demo for maven 这个官方搭好的 maven 项目,直接导入到 eclipse 或 IDEA 中,立即就可以验证 jfinal 与 maven 毫无关系

2017-11-07 10:05

@sevenZLL 看一下 jfinal 手册,有关 ActiveRecordPlugin 那一章,有实际的例子。 其实就是 sql 而已

2017-11-07 10:04

@guanxb 我只记得还有一个 uploadType参,这个参数在 jfinal club 项目中应该是用的问号挂参,所以可以在 getFile 之前通过 getPara 获取到,这样就更方便做处理

2017-11-06 21:14

jfinal 没有 sql.xml 文件,也不建议用 xml 管理 sql

在首页下载 jfinal 手册,看一下第 5.11 章节《5.11 Sql 管理与动态生成》这一部分, sql 有专门的功能进行管理

2017-11-06 20:30

前端 form 表单 input 域的 name 设置为下面:
name="article[0].title"
name="article[0].content"

name="article[1].title"
name="article[1].content"

name="article[2].title"
name="article[2].content"

后端代码大至如下:
List list = new ArrayList();
for (int i=0; i<n; i++) {
Article article = getBean(Article.class, "article[" + i + "]");
list.add(article);
}

上面用的是 form 表单做为示例, ajax 发起的请求没有本质区别,将数据按表单域的逻辑结构来组织就好

2017-11-06 20:18

getBean 与 getModel 不支持 List 这类集合类型,需要通过 for 循环调用 getBean/getModel 获取到一个一个的 Model,并且存入 List 中去

2017-11-06 20:15

sql 既然放在了 resources 下面,这样来配置即可打完收工:
arp.getEngine().setSourceFactory(new ClassPathSourceFactory());

2017-11-06 18:26

model 可以通过 Generator 生成 getter 方法,在首页下载jfinal demo,里面有生成器的用法

如果不用生成器,则可以调用 get(String) 或者 getXxx(String) 方法获取到内部 Map attrs 中的属性

2017-11-06 18:25

@孟伟_01 怎么解决的,发个分享啊,或者直接在这个贴子最后面添加一下解决办法,很多有需要

2017-11-06 17:30

@guanxb ueditor 发起的一个问号挂参请求 "?action=config" 这个是向后端索要配置文件,而 jfinal club 中的 UploadController 中做了如下处理:
if ("config".equals(getPara("action"))) {
render("/assets/ueditor/jsp/config.json");
return;
}
也就是说带有这个参数的请求仅仅是索要配置内容而已,并不是真正的文件上传,所以也就不存在可以先调用用 getPara 后调用 getFile 这个说法了,因为这个请求根本就不是文件上传

问号挂参应该也是需要先 getFile 后 getpara 的,这个你再测试一下,貌似也可以先 getPara,测试结果分享出来

不过有一点可以肯定的,如果传参是用的 urlPara 的形式,可以先 getPara 后 getFile,例如 localhost/project/update/123,这个 url 中的 123 就是 urlPara,这个可以先 getPara(0) 后 getFile

2017-11-06 16:59

通过 Model 与 Record 中的 getBytes() 方法获取到 byte[] 数组,然后再转一次就好。

也可以在自己的 Model 中封装一个 getter 方法来做这个事

2017-11-06 16:09

@wangqian0628 jfinal 手册最后一章明确说明了 IStringSource 更名为了 ISource,只是改类名,里面的方法丝毫未变

对于绝大数没有扩展过这个接口的人来说,升级感受不到变化。 对于扩展过这个接口的人来说,改一下类名即可,升级是秒秒钟的事

2017-11-06 15:53

@wangqian0628 如果你没有在 javascript 中使用到 Ret.isOk isFaile,升级很平滑, jfinal 手册最后一章有详细讲到如何升级到 3.2