多表查询后数据显示要怎么写,谢谢!

blob.png

这里查到的feedback对象在jsp页面el表达式不能直接点nickname出来,求解决

${feedback.nickname  }找不到nickname属性,这样的多表数据显示,应该怎么写呢?

评论区

JFinal

2016-10-28 17:32

@andywei 还有一个办法是仿照 CaseInsensitiveContainerFactory 写一个 CamelCaseContainerFactory 在拿数据的时候来做个转换,转换的方法可以直接调用 com.jfinal.kit.Str.java 中的 toCamelCase(...)

andywei

2016-10-30 15:53

@JFinal 感谢感谢,我试一下写一个转换方法,写好后回来反馈,再次感谢:)

andywei

2016-10-31 19:24

在Config类中调用下面代码,
//关联查询时输出无 getter 方法的字段值
ModelRecordElResolver.setResolveBeanAsModel(true);
以上可以解决多表关联查询时,字段输出显示,需表字段是驼峰命名方式。

仿照 CaseInsensitiveContainerFactory类 写一个 CamelCaseContainerFactory
并重写下方法,
private static String convertCase(String key) {
return StrKit.toCamelCase(key);
}
在Config类中调用一下,
arp = new ActiveRecordPlugin(cp);
arp.setContainerFactory(new CamelCaseContainerFactory());
以上解决表字段不是驼峰命名方式,jsp显示用驼峰方式输出,但这个重写后做新增操作时又会有问题,缓存字典字段是驼峰命名和数据库字段不一致导致录入又不行了。

最后,自己处理了一下ELResolver的getValue方法,非常规做法就不分享了。

JFinal

2016-10-31 22:38

@andywei 其实只要字段名与model 中的属性名都使用驼峰规则啥事都一次性解决了,感谢回来分享

andywei

2016-11-01 13:12

@JFinal 是的,按照框架的约定俗成来,非常方便,继续学习JFinal,感谢!

热门反馈

扫码入社