2020-05-15 15:10

这个纯粹是路由的问题,检查一下路由映射

jfinal 路由很简单,只有四种类型,看看文档 10 分钟内全部掌握

2020-05-15 10:26

@chcode 这个与空合操作还不同, 空合是对 "是否为 null" 起作用

而这位同学的建议是对 "是否为 true" 起作用

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

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