2019-04-30 09:05

非 maven 版项目,下载首页右侧的 jfinal-3.8-all.zip, 全部使用里面提供的 jar 包

你自己找的 jar 就要确保完备可用,版本要对,最好不要自己找

2019-04-29 17:51

@zeroabc 4.0 版本上了以后,即便不改代码也可以的, remove 再 add 这个不影响 jfinal 4.0 中配置的优先级,有兴趣可以看一下 FieldKit.java 源码

2019-04-29 17:48

@zeroabc 副作用的概率极低,这个仅仅只是改变了 “取值方式” 的优先级,下面给出一种可能的影响:
1:假定你的 MyModel 中定义了一个 public 属性 public static final String test = 123
2:假定你的 MyModel 所对应的数据库表叫 my_table,里头也有一个字段叫 test
那么取值的时候是取 public 属性的值,而取不到数据库字段的值

这个可想而知,不会有谁会在 model 中定义的与字段名同名的东东,并且一定要是 public 的才会有冲突

题外话,obj.field 取字段值的时候,并不要求是 static,只要是 public 即可,例如:
public String test = 123;

2019-04-29 17:41

jfinal 4.0 版本已对此处做了改进:
https://gitee.com/jfinal/jfinal/commit/c2e56a5d4506bc28ad9a15399777d51d56808647

2019-04-29 17:21

注意,上面两行代码,在 configEngine 中添加即可

2019-04-29 17:20

@zeroabc 确实有这个问题,原因是 Model 的 ModelFieldGetter 比 RealFieldGetter 的优先级要高,也就是说 field 表达式在知道是 model 类型时会默认给定 ModelFieldGetter 来获取数据,解决起来也很容易:

Engine.removeFieldGetter(com.jfinal.template.expr.ast.FieldGetters.RealFieldGetter.class);
Engine.addFieldGetter(1, new com.jfinal.template.expr.ast.FieldGetters.RealFieldGetter(null));

记得搞定后,再来回复一次

这个反馈十分有用,谢谢你

2019-04-29 11:36

@琴海森林 起码要打磨个一两年,追求极致,对用户的感知要有明显冲击,才有高速发展

现代社会用户的时间、感知都被无数信息不断轰炸,要打动人心,必须要有足够的冲击力

2019-04-29 11:22

精品项目,稳步迭代,赞

2019-04-29 10:37

浏览器按 F12,看 js 错误,解决即可

注意 ajax 不支持文件下载,是 http 协议的规定,与 jfinal 无关

2019-04-29 10:35

@GeorgeCao 本质就是你的页面 form 表单有个 input 域的 name="id",但 value 没有,所以 getBean 过来 id 值就是 null

由于 Blog 的 id 值为 null,那么主键自增就无从谈起

主键自增是指,当你没有指定主键值的时候,才去自增,而你已经指定了主键值为 null,所以不会起作用

这个问题本质与 jfinal 无关

2019-04-29 09:59

getBean(Blog.class).remove("id").save();

2019-04-29 09:49

Aop.get(...) 已完全覆盖掉了 enhance 的功能,并且还能支持 @Inject 注入

不建议使用 Enhancer

2019-04-29 09:19

Db.query(...) 即可

2019-04-28 18:34

创建 MyMetaBuilder 继承 MetaBuilder 并覆盖掉其中的 isSkipTable(...) 在这个方法中随心所欲定制要生成的 table 规则

最后配置:
generator.setMetaBuilder(new MyMetaBuilder());

2019-04-28 18:33

问题是?