2016-12-18 11:54

用多个 input type=file 表单域,并保障 name 属性值的唯一性即可,你现在的 name全是 taskImgs,那么上传的时候,后面的 file 会覆盖掉前面的 file

2016-12-17 17:29

严格来说,在totalPage 为 0 时,isLastPage 值没有意义,所以不算是 bug。即便如此 jfinal 2.3 也对此进行了改进,从用户体验上来说会好一点,感谢反馈,赞一个

2016-12-17 15:26

jfinal 提供了一个:OreillyCos.setFileRenamePolicy(...) 方法,只需要利用此方法定制一下重名时的策略即可

本站 jfinal.com 社区用的另一种方法,将文件先上传到一个 temp 文件夹,然后再利用业务层生成新的文件名,然后再将 temp 文件夹下面的文件 renameTo 一下成自己想要的文件目录以及文件名即可

对于严谨的项目来说,文件名都是有一套业务逻辑的,例如本社区,不同模块的上传文件保存在不同的子目录之下,文件名前缀使用的是用户 id 号 + 时间戳,这样重名的概率几乎为零,因为有目录 + userId + 时间戳这三个因素来保障

建议使用 jfinal 社区的方式来做

2016-12-17 11:24

@康康君 两种办法,一种是设置为开发模式: me.setDevMode(true),另一种是设置 freemarker 的缓存更新时间为 0 :me.setFreeMarkerTemplateUpdateDelay(...),这个值默认是 60 分钟

2016-12-16 12:38

设置一下最大安全层数即可,该参数是为了防止被转换数据自身有循环依赖

2016-12-15 10:32

@张露露 关键是这个问题,以前从来没人反馈过,不知道原因,这个是你碰到的?

2016-12-15 10:16

@Romeo jfinal 只是简单的开启 jdbc 的事务功能,并没有关注过乐观锁这些东东

2016-12-15 10:15

@张露露 这个需要单步调试精确定定位问题,很多不用 sql server,建议去群里问问

这个问题以前没人反馈过,试试换个 jdbc 驱动

2016-12-14 22:43

多个 RedisPlugin 的用法分为三种情况:
1:每个 RedisPlugin 对象连接到不同的 redis 服务端
2:每个 RedisPlugin 对象连接到同一个 redis 服务端的不同 db
3:以上两种情况的混合

第一种情况的例子:
new RedisPlugin("r1", "192.168.1.111");
new RedisPlugin("r2", "192.168.1.222");
通过 Redis.use("r1") 就能访问 ip 后缀为 111 的服务端,通过Redis.use("r2") 就能访问 ip 后缀为 222 的服务端

第二种情况的例子:
new RedisPlugin("r1", "localhost", 6379, 3000, "myPasswrod", 1);
new RedisPlugin("r2", "localhost", 6379, 3000, "myPasswrod", 2);
以上两个 RedisPlugin 同时连接到了 localhost 这同一个服务端的不同的 database,第一个为 db 1 第二个为 db2,注意看最后一个参数就是 db 号
通过 Redis.use("r1") 可直接访问 db1,通过 RedisUse("r2") 则直接访问 db2,通过这种方式就不再需要使用 select(db) 来切换 redis 的 db

第三种情况是上面两种情况的混用,在此不在赘述

2016-12-14 20:14

@Irin.Chan 多多支持 jfinal 发展,2017 必定极速发展

2016-12-14 20:13

@nbjgl 事务的理解没那么简单,任何数据库实现事务都是在保障数据一致性的前提下,尽可能速度快,也就是说可以不必排队就不去排,例如两个线程同时操作同一个库,但是为不同的表,又或者操作的同一张表,但不是同一条记录,又或是同一条记录但不是同一个字段,必然会针对性能搞出一整套理论

2016-12-14 16:56

@白银骑士 多尝试一下,大前提是只要是 jdbc 支持的功能, jfinal 在本质上都支持

2016-12-14 15:56

任意选择一个数据源,然后在 sql 中直接查询就好,例如:
Db.use("mysql").find("select * from db1.table1 a join db2.table2 b on a.field = b.field")

jfinal 仅仅对 jdbc 进行了一层极其薄的封装,相当于直接将 sql 与其参数直接扔给了 JDBC,所以只要是 JDBC 支持的,jfinal 在理论上都支持,基于这个基本点,只需要研究好 jdbc 可以怎么实现就可以直接再应用于 jfinal 之上