2018-12-22 12:19

终极解决方案:
1:手动从数据源获取一下 Connection,例如 dataSoruce.getConnection()

2:手动用 connection 行执一下这个 sql,也就是说用纯 JDBC 去执行一下

3:对比结果即可

2018-12-22 12:18

两个方向查找原因,一是项目中的路由配置有问题,二是 undertow.contextPath 配置有问题

2018-12-22 12:17

做一个 public MyControllerFactory extends ControllerFactory

然后里面创建 controller 对象,然后对 controller 对象使用 Spring 进行依赖注入即可

注意,controller 对象不能是单例,否则有线程安全问题

2018-12-21 22:31

5.6 小节文档

2018-12-21 18:43

@Sohnny 分页用的 select 中不能有参数。 如果有参,最外层套一个 select * from (原 sql) as t

文档中反复强调过

2018-12-20 15:48

提示信息已经很明确 fresh-wechat fresh-util 的依赖都有问题,通过调整 pom.xml 细致解决一下

2018-12-20 15:46

这个操作头一次见,简洁又方便,赞

2018-12-20 14:26

弃用 session ,用一个中心式的地方共享用户登录信息,例如 redis

jfinal 官网用的是一个中心 mysql 数据库存放的用户登录信息

2018-12-19 23:47

@badouyuren 有多少都没关系,单例模式也没关系,使用 undertow.hotSwapClassPrefix 继续添加就好

2018-12-19 23:19

@chaoge 3.0 以后又加回来这个 order by 的去除,因为 oracle、sql server 等数据库需要这个,解决办法见文档:
https://www.jfinal.com/doc/5-6

注意看最后一部分的常见问题解决

2018-12-19 16:20

再补充一下,你也可以用 toString() 来做:
# if (item_key == user.sex.toString()) checked #end

当你不确定变量是否存在时,可以用下面的方法避免空指针异常:
# if (item_key == user.sex.toString() ?? ) checked #end

上面代码中你的 user 以及 user.sex 都可以为 null

2018-12-19 16:17

不用这么麻烦:
# if ( item_key.toInt() == user.sex) checked #end

也可以这样:
# if (item_key.toInt() == user.sex.toInt()) checked #end

注意看一下 enjoy 的 Extension method 特性:
https://www.jfinal.com/doc/6-9

enjoy 默认为 String、Integer、Long、Double、Float、Char、Byte 等等类添加了
toInt()、toLong()、toBoolean() 等 extension method,在你无法确定当前变量的类型时,使用这些方法,即可将类型确定下来

确定下来类型以后就可以用 == 去比较了

对于 String 型的比较直接用 == 比较,不需要 equals 方法,enjoy 对 String 的比较做了扩展,无需 equals

2018-12-19 16:13

@happyboy 在获取数据库连接的代码处添加日志,看获取的时长是多少,先定位问题,目前还都只是猜测

2018-12-19 15:14

可能是 IDEA 配置问题,将 jfinal demo for maven 直接跑一跑,是没有这个问题的

2018-12-19 15:13

有可能是finally 块中吃掉了异常,单步调试一下,这个不是 jfinal 的范畴,纯 java 语言的范畴