开发者社区> 问答> 正文

从Jfinal2.0升级到Jfinal2.2,关于getAttrNames()方法的问题?报错

这两天打算从2.0升级到2.2,以前的代码很多地方都用到了Model的getAttrNames,到了2.2,这个方法找不到了,会报错,发现这几个getAttr开头的方法都被加了一个下划线变成了_getAttrNames。

问一下@JFinal ,是不是我把代码里所有这个函数名换成带下划线的就行了,不会影响到代码的逻辑吧。

谢谢了!

展开
收起
爱吃鱼的程序员 2020-06-09 11:44:04 532 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

       改下函数名就好,不影响代码逻辑。由于jfinal2.2可以为Model生成getter方法,所以,以前Model中的publicTypegetXxx()这类方法为了避免被当成是getter,所以必须要改,否则会影响一些第三方的库。

      例如在使用FastJson对model进行json转换时,碰到 getAttrNames()方法时会将获取到的数据转成json,但其实这个是不需要被转化的,这个getAttrNames()本来不是一个getter方法,却被当成了getter,所以要改成带下划线前缀的。

    @eechen只有java才能做这么爽快的API升级了,如果是php,敢随便替换么。明白了!做个全局替换就行了。
    2020-06-09 11:44:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第7讲】:Spring Boot 2.0安全机制与MVC身份验证实战(Java面试题) 立即下载
Java Spring Boot开发实战系列课程【第6讲】:Spring Boot 2.0实战MyBatis与优化(Java面试题) 立即下载
Java Spring Boot开发实战系列课程【第15讲】:Spring Boot 2.0 API与Spring REST Docs实战 立即下载