2020-10-11 14:21

@prelove app & coffee 承载了 jfinal 的 "生态梦",现在只是一个开始,有利于生态的项目会逐步添加

例如你提到的 ES, 这个需求量很大

当前的优先级是俱乐部新福利,一步步来

2020-10-10 18:09

@花开堪折Orz 我建议你只抽取 MailKit 中与 email 发送有关的代码自己用, 里面有一些封装,细节你可能不知道,容易出问题

这个 MailKit 不是 jfinal 官方推出的,我只能猜测这些信息给到你

2020-10-10 18:07

@自律的心呀! 拿铁半糖咖啡,我很喜欢 ,喝着写代码超爽

2020-10-10 17:02

再回看了一下你的代码,注意下面的代码:
RenderManager.me().getRenderFactory().getRender(viewPath).setContext(request, response).render();

这个证明 render 已经完成了,所以,你应该去除你自己代码中的:
renderText(...)

一次交互只能 render 一次

2020-10-10 16:59

@花开堪折Orz 单步调试一下, request、response 都需要是正常的才可以

2020-10-10 16:47

估计你是新开了一个线程在调用这个 action

controller 中的 action 只有在被 jfinal 框架调用的时候在内部拥有正确的 request、response 对象

2020-10-10 09:33

@北流家园网 你的每个 tab 可以用一个 kit.fill 来填充数据

如果你希望每个 tab 中的数据只是在浏览器中被 display: none 下次点击时不请求后端而是立即出来的话,可以参考 kill.fill 写一个 tab 方法,将 $(container).html(ret); 改成 $(container).after(ret);

jquery 的 after 方法会追加 html 片段,而 html(...) 会覆盖原有的 html 片段

注意追加完以后,将其它的 tab 通过 display:none 隐藏

2020-10-09 23:04

iframe 相对来说是慢,但也可能是你 iframe 中的内容过多导致的

jfinal 马上要上线的 app & coffee 频道,其中的 jfinal-kit.js 项目中提供了一个 fill 交互模式,可以完全代替 iframe

明天上午注意过来看一下,正在录入最后一部分数据,马上要开放这个频道了

2020-10-09 15:28

做一个 public class MyArp extends ActiveRecordPlugin, 用这个 MyArp 代替官方的插件

然后在 MyArp 内部覆盖父类的 start() 方法,用 try catch 处理一下,大致如下:

public boolean start() {
try {
super.start();
} catch(Exception e) {
在这里只做日志, 不再抛出异常
}
return true;
}

通过以上改造以后,即便启动出现异常,不影响其它部分的使用

2020-10-09 15:25

@JF_John 使用 %s 要注意切换到 slf4j 时要改成 {}, 所以最好是早点决定一直用哪个日志框架,不用改了

2020-10-09 15:24

单元测试先弄几个 Mock 类辅助,参考这里:
https://gitee.com/jfinal/JFinal-ext2/tree/master/src/test/java/com/jfinal/ext/test

2020-10-09 11:38

添加一下 cron4j 依赖

2020-10-08 22:38

没用过这个数据库,如果这个库支持 ANSI Sql 标准,可以用一下 AnsiSqlDialect,配置一下:
arp.setDialect(new AnsiSqlDialect());

如果这个数据库是一个很不一样的存在,可能你需要扩展一下 Dialect

2020-10-08 18:04

@tctc4869 还是不知道你的具体需求是什么,希望你能写个分享,将所希望的用法直接写成类似于伪代码的形式