从Jfinal2.0升级到Jfinal2.2,关于getAttrNames()方法的问题
这两天打算从2.0升级到2.2,以前的代码很多地方都用到了Model的getAttrNames,到了2.2,这个方法找不到了,会报错,发现这几个getAttr开头的方法都被加了一个下划线变成了_getAttrNames。
问一下@JFinal ,是不是我把代码里所有这个函数名换成带下划线的就行了,不会影响到代码的逻辑吧。
谢谢了!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
明白了!做个全局替换就行了。
@eechen 只有java才能做这么爽快的API升级了,如果是php,敢随便替换么。
改下函数名就好,不影响代码逻辑。由于 jfinal 2.2 可以为 Model 生成 getter 方法,所以,以前 Model 中的 public Type getXxx() 这类方法为了避免被当成是 getter ,所以必须要改,否则会影响一些第三方的库。
例如在使用 FastJson 对 model 进行 json 转换时,碰到 getAttrNames() 方法时会将获取到的数据转成 json,但其实这个是不需要被转化的,这个 getAttrNames() 本来不是一个 getter 方法,却被当成了 getter,所以要改成带下划线前缀的。