2020-05-15 10:25

这个想法很好,但有些细节还需要考虑清楚

有个疑问,你建议的 foo ?: 'no' 等同于 #( foo ? foo : 'no' )
为啥不是:
foo ?: 'no' 等同于 #( foo ? '' : 'no' )

因为这个与你后面建议的 foo ?= 'yes' 等同于 #( foo ? 'yes' : '' ) 才是一致的

2020-05-14 19:31

3.4 升到最新版本变化并不大, 除了 Aop 功能以外,其它都是细致打磨

如果不想升级想用 Aop,需要将 com.jfinal.aop 与 com.jfinal.proxy 这两个包下面的文件复制到你的项目中才能使用

2020-05-14 19:29

将支持分布式事务的 DataSource 直接传递给 ActiveRecordPlugin 即可

ActiveRecordPlugin 构造方法有很多重载,其中 DataSource 就是其中之一

2020-05-14 16:36

@opal 实现这个功能以后的最终目的是什么?

2020-05-14 11:43

既要让模板函数可以被调用,又要可以输出模板函数的定义本身,这个功能确实没有

这个需求第一次碰到,java 语言自身也没这个功能

建议讲出更深层的目标,或许通过其它路径可以解决

2020-05-14 10:42

@i++ RedisPlugin 可以使用 Redis.addCache(....) 事先放入自己的 Cache 继承类,完全接管原有功能

2020-05-14 10:01

@i++ 此外 ehcache 的集群还可以仅仅通过修改 ehcache.xml 配置就可以实现,无需改动 jfinal 源码,也无需继承扩展

2020-05-14 09:56

@i++ Cache 类无法直接获取,一般是通过 CacheKit.use() 或者 CacheKit.put(...) 来间接引用的 Cache,所有继承扩展是可以的

况且加集群功能根本不需要继承扩展,只需要通过 CacheKit.getCacheManager() 得到 CacheManager,往里头添加 ehcache 的监听器实现缓存同步就可以了

这里对 ehcache 做缓存同步,不要做成数据多节点复制,而是做成某节点数据有变化则发广播让其它节点 remove 掉缓存数据,让下载读取的时候去数据库读

参考 oschina 的 j2cache 中对于 ehcache 广播用法:
https://www.oschina.net/p/j2cache
https://v.youku.com/v_show/id_XNzAzMTY5MjUy.html

2020-05-13 17:25

这个是 spring 报的异常,搜索一下 :org.springframework.beans.factory.NoSuchBeanDefinitionException

2020-05-13 12:33

@子睿 可以用双引号,只不过你得是全路径,例如:
UndertowServer.start("xxx.yyy.zzz.HelloConfig", 80, true);

否则 jfinal 无法知道你的 HelloConfig 是在哪个 package 下面

2020-05-13 09:55

要打成 war 包,就与 package.xml 无关了,删掉这些东西,改掉 pom.xml 头部的 "jar" 为 "war" , 直接 mvn clean package 即可

2020-05-13 09:54

@xhcjz 在 Model 中添加 getter 方法就可以了,文档中有过说明:
https://jfinal.com/doc/5-10

生成器生成出来的用户未必满意,手动加一行代码就好,要加的代码很少

2020-05-12 21:52

这个其实不方便干预,不同的用户有不同的需求、习惯

模板引擎的 "模板",本质就是要当成一个 "模板",而不能干预这个 "模板" 中一切静态的东西,因为它们或许是用户要求保持原样

2020-05-12 21:50

分页碰到的问题都可以在文档中找到答案:
https://jfinal.com/doc/5-6