Record set时候key全小写

Record set时候key全小写了,比如 rec.set("userName","张三"),返回到页面key却变成username,导致转换为json格式,页面无法取到值

评论区

aloneJFinal

2017-09-14 16:07

Record是一个可用于序列化的超类,在jfinal中可以将其理解为model的一个泛指的实例,其内部实现就是一个Map,其set()方法即相当于Map的put(),转换为json就相当于将Map转换为JsonObject,理论上是不会出现大小写混淆的问题的。
比如,在某个controller中进行测试:
public void test() {
Record record = new Record();
record.set("userName","张三");
renderJson(record);
}
是不会出现什么问题的,推测是你其他什么地方代码导致的,最有可能就是某个对象的get、set方法由get/setUserName()写成了get/setUsername()才导致了这个问题,仔细检查一下代码。

JFinal

2017-09-14 16:18

arp.setContainerFactory(...) 配置 CaseInsensitiveContainerFactory 的时候,不要给构造方法传入任何参数

zlsj80

2017-09-15 08:54

@JFinal 确实有传入参数,设置了大小写不敏感,我去掉试试看,谢谢波总指点