2018-02-03 15:47

@zhongshg 当拿不定主意的时候,用你已经掌握的 Java 方面规则搞定就可以了

jfinal enjoy 保留了绝大部分 Java 规则,扩展部分极少极少,而且都是有利于开发体验的符合直觉的扩展,例如对 map 的迭代方面的扩展,可以省去你写 map.entrySet() 的代码

2018-02-03 15:45

在 JFinalConfig 中使用 PropKit 与 maven 的 profiles 没有联系, PropKit 只要求在 class path 或者 jar 包内可以找到配置文件即可

2018-02-03 15:06

补充一下,这种对 map 的遍历方式是 jfinal 对 Java 规则的一个扩展,当然,你也可以直接使用 Java 规则来遍历,一点不耽误,将 #for(list:moduleMap) 改成:
#for(e : moduleMap.entrySet()) 然后里头是 e.getKey() 与 e.getValue() 取值,与 Java 规则完全一样

2018-02-03 15:03

遍历的 x : map,取值是 x.key 以及 x.value,而不是对 x 进行再次遍历,解决办法是将 #for(m:list) 改成 #for(m:list.key) 或者 #for(m:list.value)

2018-02-03 15:00

将日志级别调低点, INFO 信息输出太多了

2018-02-03 14:11

@sqhua Active Record 设计模式所决定: 一个 model 对应一条数据表记录,而对应关系统采用主键机制

如果没有主键,你的 model.save() model.update() model.delete() 等操作就根本不可能知道是针对数据表的哪条记录来操作

2018-02-02 18:08

@怎懂落寞 这个是正解, 你的 form 表单添加了 enctype="multipart.... 这个东东,会走 http 的文件上传,后端需要用 getFile() 方法先解析

2018-02-02 17:32

这种情况只需要 activeRecordPlugin.addSqlTemplate(new DbSource()); 就可以实现了

此外,如果你是在 jfinal 的 web 下使用,既然有了 me.add(druidPlugin) 与 me.add(activeRecordPlugin), 那么 druidPlugin.start() 与 activeRecordPlugin.start() 是多余的

2018-02-02 17:21

@怎懂落寞 将第三个参数 "/key/" 改成 "/blog/" 即可,纯粹就是一个字符串相加而已,有些字符串是常量,有些是变量表达,与 java 规模完全一样

2018-02-02 17:18

看是不是这个问题:http://www.jfinal.com/feedback/2429

2018-02-02 12:04

RedisPlugin 配置实例: http://www.jfinal.com/doc/8-2

2018-02-01 19:59

这里的关键问题是,在程序走到你的 render 代码之前不方便猜测你后面到底render 了没有,以及 render 的参数是什么

当然,也不是绝对没有办法,例如写一个分析器,分析你的源代码,先预分析你的程序结构,分析到的结果做为自己这部分程序的行动指南

我再说的直白一点,你下面有三行代码:
int a = 123;
int b = a + 456;
render("index.html");

然后我希望在 int a = 123; 这行代码这里就知道第三行代码的 render 里头有什么参数,而这个时候程序还没走到第三行呢

2018-02-01 19:55

使用 form 表单的形式,或者 form 表单传参的机制提交数据,不要将参数放在 url 中,要放在 http body 中传递

2018-02-01 19:51

NullPointerException 这个异常没有什么好的办法,认认真真单步调试一下,看哪个对象是 null 值,再解决之

2018-02-01 17:44

@sevenZLL 先转成 List《Map》,然后将 Map 转 Record

Record 中有个 setter 方法,支持传入 map,just do it