关于Model自定义属性的问题

今天把ActiveRecord整合到了现有的项目中(因为实在懒得写那么多配置文件)。但是从数据库中取出来的List集合中,有个字段status需要在JAVA的字典表中翻译一下,我不想 重新遍历,就想在Model中加一个getStatusValue()方法,发现这个方法不会被调用。所以页面也就无法取到了,我看了Model源码,没发现哪个方法能把这个东西加入到 attrs里面,是本身就不支持吗?还是我看错了,因为项目着急,所以打扰问问。多谢了。

评论区

mrbai2018

2019-05-28 17:52

主要是我还在里面 写个一个属性,一个简单的javabean属性,但是到页面怎么就连点反应都没有。才疏学浅啊,见笑了。

JFinal

2019-05-28 17:54

如果是单独使用 Active Record,可以引入独立的 maven 配置,已发布到 maven 中心库:
https://mvnrepository.com/artifact/com.jfinal/activerecord/4.0

创建 getStatus() 方法在这个方法中进行翻译即可,但你要确保读取值的时候这个方法被调用了,如果用的是 jfinal 的 enjoy 引擎那么是会调用这个方法的,如果你用的别的模板就得另想办法

如果找不到办法,可以单步调试一下,了解一点点细节解决起来很容易

mrbai2018

2019-05-28 18:21

我知道了,是我在spring启动的时候 加上了ModelRecordElResolver.init(servletContext); getStatus不会被调用,去掉这句话会调用,但是没办法直接读取 Model的属性,这个怎么解:》我用的是 el表达式,原始了一些。没办法,这个项目就是用的这个 换是来不及了。

mrbai2018

2019-05-28 18:26

难道真的要在页面用 ${u.get("name")} 这种写法啊 哈哈

JFinal

2019-05-28 21:08

@mrbai2018 既然是没有调用 ModelRecordElResolver.init(servletContext);

那么,找到一个合适的地方,调用一下上面的代码

热门反馈

扫码入社