2019-05-21 16:23

@aaaaaaa 目前你可以创建一个 public MyCache extends Cache 在子类里面覆盖 blpop 方法,改成前面我提供的 if 判断的方式,然后配置一下即可:
Redis.setMainCache(new MyCache());

jfinal 几乎所有部分都是可以扩展的

2019-05-21 14:41

这两行代码是:
List《byte[]》 data = jedis.blpop(timeout, keysToBytesArray(keys));
return keyValueListFromBytesList(data);

如果改成下面的是否满足你的需求:
List《byte[]》 data = jedis.blpop(timeout, keysToBytesArray(keys));
if (data != null) {
return keyValueListFromBytesList(data);
} else {
return null;
}

如果可以,下个版本改进这里。此外,还有没有另外的地方有类似的需求?

2019-05-21 14:39

@zzutligang 如果每个数据源都有自己的 table 以及 model,那么映射的时候各自都是对应上的,多数据源是自动化完成的,无需自己调用 model.use(...) 方法

这个才是标准的用法

2019-05-21 11:26

依托 enjoy 的实时热加载功能,已在线改进,谢谢反馈

2019-05-21 11:05

@1234567856756745 升级的话,要改少量代码,有详细的升级文档:
https://www.jfinal.com/doc/14-1

2019-05-21 10:49

@1234567856756745 jfinal 1.9 这个版本可能还没改进过 renderFile 的中文文件名问题

强烈建议升级

如果暂时不想升级,可以拿到最新版本中的 FileRender.java 放到项目中,改名为 MyFileRender.java

然后用的时候这样:
render(new MyFileRender(...));

2019-05-21 10:48

IDEA 下使用时,要去掉 jetty-server 依赖配置中的 scope provided,这个在文档中强调过,这个是 IDEA 的行为,貌似新版本 IDEA 可以通过配置来解决,这点 eclilpse 做得比 IDEA 要好

2019-05-21 10:45

单步调试找到哪个对象为 null, 分分钟就解决了,一般是配置不对

2019-05-21 10:43

enjoy 模板引擎暂不支持 中文 field 取值,例如下面的是不允许的:
#(obj.中文)

但可以调用方法,例如:
#(obj.get("中文"))

如果未来有很多这方面的需求,会考虑改这里。目前你非得要使用这个功能,可以适当改改 enjoy 源码,实现起来并不难,开放表达式的字符类型检测即可

最后,强烈建议不要使用中文字段名,先不说正不正确,起码让内行人一看就会怀疑设计者的水平

这个就跟变量名使用拼音类似

2019-05-21 10:38

@RichardHe maven 普及很多年了,并不高大上。 确实有一些朋友需要非 maven 版本,今天或者明天会提供 "非 maven" 下载

2019-05-21 10:25

如果因为没有登录而去跳转到登录页面的时候,会自动添加一个 returnUrl 参数,好让登录成功以后回到前面将要去的那个 url,这个是为了提升用户体验的一个设计

2019-05-21 10:23

应该是缺少相关依赖,检查一下 jar 包是否存在

2019-05-21 09:42

在公众平台里面,将基本配置里头的消息加解密方式配置成安全模式,来往消息才会是密文,才会出现 "msg_signature", 才不会发生空指针异常

2019-05-21 09:42

可以通过 enjoy 的 extension method 机制来无限扩展,用的时候可以这样:
#for ( x : list.sort("age") )
...
#end

这个机制扩展的好处是你可以任意发挥,例如你下次想扩展出一个 filter 机制,就可以这么来用:
#for ( x : list.filter("x != 0") )
...
#end

extension method 扩展的文档在这里:
https://www.jfinal.com/doc/6-9

2019-05-20 14:52

jfinal 早期的版本就对此改进过,莫非你用的是上古 jfinal 版本?