2019-11-21 10:41

@yky 除了 @chcode 介绍的方法以外,还可以在本站下载最新版本的那个页面,手动改一下浏览器里面的版本号,也可以下载到很多老版本,你试一下

2019-11-21 10:40

@whjjjjjj 注意文档中的 baseViewPath 、 viewPath 这两项配置:
1:如果不配置的话,viewPath 默认为空,指向的是 src/main/webapp

2:viewPath 由添加路由映射时提供: routes.add("/login", LoginController.class, "/login") 其中第三个参数 "/login" 就是 viewPath

render("login.html") 最终的参数值是:baseViewPath + viewPath + "login.html"

如果你在 render 的时候,参数以 "/" 打头的话,会忽略 baseViewPath 以及 viewPath

这里有详细的文档:
https://www.jfinal.com/doc/3-7

只要用上几次,就很容易理解

2019-11-20 14:05

如果你希望可以切换,可以这样来做:
new MyModel().use("D2").find(...);

当前线程 new 出来的 model 再调用其 use 方法,不影响其它线程,因为 new 出来的 model 在当时是当前线程独享的

2019-11-20 14:04

如果允许的话, 在多线程的情况下, 线程 A 在使用 D1 数据源查询的时候,这时候如果线程 B 将数据源切换到了 D2, 一切都乱掉了

2019-11-20 13:55

dir.mkdirs() 这行代码无法创建目录,可能是无权限的问题

2019-11-19 17:05

默认是不上传到这里的,应该是你的项目配置有问题

参考官方文档来创建项目

2019-11-19 16:18

@星矢 这就对了, alert table、create table 这类改变数据表结构的 sql 是无法回滚的,能回滚的是改变数据本身,而不是数据结构

这个是由数据库决定的,jfinal 无法干预

2019-11-19 16:03

@落 如果映射了还是空,那就是 arp.start() 没有调用,也就是说没有启动 ActiveRecordPlugin

在 web 项目中,需要 me.add(arp) 一下,在非 web 项目中,需要 arp.start() 一下,这里有文档:
https://www.jfinal.com/doc/5-15

2019-11-19 16:00

这个方案比以前那个方案还简洁:
https://www.jfinal.com/share/492

谢谢分享,赞

2019-11-19 11:55

@yuan_123 这个应该是纯客户端的问题,客户端发送文件时一定要遵守 http 规范

异常提示上传的数据格式不对,java.io.EOFException: 套接字读取到意外的EOF

2019-11-19 11:53

@newbie 我估计你是忘了配置注入父类了:
me.setInjectSuperClass(true);

如果你不是 jfinal web 项目,可以这样配置:
AopManager.me().setInjectSuperClass(injectSuperClass);

2019-11-19 11:51

@星矢 这个就奇怪了,去掉 try catch 试试看

2019-11-19 11:50

@zzutligang chrome 浏览器引起的这个问题确实坑,解决就好

jfinal undertow 使用的 undertow 版本以 pom.xml 中的为准:
https://gitee.com/jfinal/jfinal-undertow/blob/master/pom.xml

建议先下载首页的 jfinal_demo_for_maven.zip,对这个项目进行一次 mvn clean package , 这样会打包出来一个 lib 文件夹,直接用上这个文件夹下面的 undertow ,这样获得的 undertow 文件版本才是妥当的,不会出问题

jfinal 官网使用 jfinal-undertow 稳定可靠运行一年多了,谁用谁爽

2019-11-19 11:47

此外,如果你的 Merchant 类使用 jfinal 生成器生成了 setter 方法,推荐使用 getBean,例如:
getBean(Merchant.class, "");