2017-01-14 18:41

url 不要以两个 "/" 打头,必然就错误了

2017-01-14 15:53

不要再用这个插件,没有必要

2017-01-14 12:35

配置文件出了问题,所以无法获取数据库连接,由于你的代码中没有通过 arp.addMapping(...) 添加映射,所以 jfinal 在启动 ActiveRecordPlugin 插件的时候并没有报异常来告诉你连接获取失败,所以,后续这个异常后延了

2017-01-13 22:42

PropKit 是将数据缓存于内存的,性能即是 HashMap 的读取速度,可以忽略不计,比用注解起码快一个数量级

此外,如果要集成 spring,去 git 看一下 jfinal 老版本中的 tag 分支,以前有 springplugin 这个插件

2017-01-13 16:49

单步调试跟踪,尤其是在转换成 json 前看看数据是什么样的

2017-01-12 12:06

这个确实很多人有需求,感谢分享

2017-01-10 17:07

@xRhbN 这个需求本质是可以满足的,弃用 PropKit 直接用 Prop 即可,代码如下:
Prop p = new Prop(...);
p.get(...);
p.getInt(...);

2017-01-10 17:05

我觉得你的需求较个性化,所以,可以利用底层已有的 Prop 类,自己参考PropKit再扩展出一个满足需求的 MyPropKit 来用

2017-01-10 17:03

没明白 useFirst 是做什么的,PropKit.use(...) 可以指定不同的配置文件去使用。此外,这个功能的设计基于以下假设:
1:配置文件很小,例如数据库连接ip地址,用户密码名码,通常1KB不到
2:支持多配置文件,可以让不同配置放在不同的文件中便于管理,文件同样也很小
3:多数情况下不需要处理内存回收,因为占用实在太小
4:如果用户是处女座的完美义义者,可以用 useless(...)回收下内存

当然,你说的使用弱引用也是一个改进方向,只不过这个功能目前为止对需求满足得不错

2017-01-10 16:46

注意这里的一个关键点,你无法知道用户什么时候用,什么时候不用,而 Prop 模块的基本出发点是针对应用的配置文件,从这个出发点上看问题,配置文件的内容几乎都是很少的,一般不会超 3KB

2017-01-10 16:45

@xRhbN 假定用户 PropKit.use(a).get(...),然后 jfinal 擅做主张,认为用户只用这一次,自动将其 PropKit.useless(a) 掉,那么用户再次用的时候,发现出异常了

应用场景是无法穷尽的,jfinal 能做的只能是尽可能照顾最可能出现的场景,然后对少数场景提供用户可选的支持,而对于极其极其极其少的场景,交给用户自己去扩展

2017-01-10 16:31

@似水流言1 这几天随时可能发布,有点文档随时写完,随时发布

2017-01-10 16:30

PropKit 最初是为正常配置文件设计的,所以你说的场景很少,如果出现这样的场景,jfinal 也早就有准备,用一下 PropKit.useless(...) 将其从内存中移除就好

jfinal 远比一般人所需要的要想得周全

2017-01-09 20:58

@jerry1216 renderJson 有很多重载方法,功能不一,建议看看手册,此外,renderJson可以支持已被转换成 String的 json 内容,所以,当无法满足需求时,你可以使用任何第三方工具,预先将 json 数据转换好,然后这样做:

String jsonContent = MyJsonTook.toJson(...);
renderJson(jsonContent);

2017-01-09 20:56

有很多方法实现,例如在拦截器中通过 inv.getControllerKey()甚至是 getActionKey()来识别当前被拦截的是上Controller

例如可以自定义注解,然后在拦截器通过 inv.getMethod().getAnnotation() 得到上面的自定义注解,然后做自己想做的事情,这个用法可参考jfinal的 ehcache 模块