首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
多表查询后数据显示要怎么写,谢谢!
andywei
2016-10-26 14:24
这里查到的feedback对象在jsp页面el表达式不能直接点nickname出来,求解决
${feedback.nickname }找不到nickname属性,这样的多表数据显示,应该怎么写呢?
项目:
JFinal
5
5
评论区
andywei
2016-10-26 14:25
有没有朋友帮忙解答一下,谢谢哈~
回复
JFinal
2016-10-26 15:18
首先要将数据传递到页面,然后才能获取:
setAttr("page", findPages(...));
回复
andywei
2016-10-26 15:25
@JFinal
setAttr传数据到前端了,其他属性可以显示,Feedback的model对象里面不包含nickname属性,这个属性是UserInfo这个model里面的。
回复
matol
2016-10-26 16:03
你的Feedback模型中应该就没有nickname字段吧?
回复
matol
2016-10-26 16:05
按照你的sql情况,最简单的办法就是在你的Feedback中新增nickname属性,就可以取得到的。
回复
andywei
2016-10-26 16:11
@matol
是的,feedback里面没有nickname字段。这个字段是在UserInfo表里的,这里是关联查询了显示反馈人的昵称,像你说的增加nickname属性是一个方法,前端之所以没有显示也是因为没有get、set方法。 项目中 这样关联查询的sql还是很多,这样增加属性就把model的dao的类里面加很多额外属性了。感觉不是很好,不知有无较好解决方法~ 谢谢!
@JFinal
回复
matol
2016-10-26 16:40
@andywei
你的意思我理解。但是,这个主要是由于你的sql决定的,他不像HQL那样基于对象联合查询的。不过可以考虑写插件来提供解决。
回复
JFinal
2016-10-26 21:10
@andywei
必然有最好的办法,使用如下的代码设置一下,jfinal 会去掉用 model.get(String) 方法,而不是 getter 方法:
ModelRecordElResolver.setResolveBeanAsModel(true)
在YourJFinalConfig 中的某个 config 方法中调用一次即可,记得搞定后回来反馈
回复
andywei
2016-10-26 22:42
@JFinal
感谢帮忙解决,已加入这行代码设置,测试了可以输出任意IBean下面的属性了,谢谢!!会一如既往的支持JFinal:)
回复
JFinal
2016-10-26 22:51
@andywei
以后像这种紧急的问题,用支付宝捐助一下,我就能收到一条手机短信,就会来社区登记支付宝捐助者,就能看到社区的提问了,事情太多,有时候得半天才看看社区动态
回复
JFinal
2016-10-26 22:52
@andywei
这样不就可以早早把问题解决了么,哈哈
回复
andywei
2016-10-26 23:52
@JFinal
是的平时都太忙,这样好,下次就捐助呼叫啦~已经关注很久了,2年前捐助过一次 哈哈哈:)
回复
JFinal
2016-10-27 00:03
@andywei
刚刚支付宝是你捐助的吧? 感谢你的支持,社区会提供越来越好的资源分享出来
回复
andywei
2016-10-27 00:07
@JFinal
支持JFinal,刚捐助啦,哈哈哈,希望框架越来越好,不知道你们有微信群没,想加入,两年前使用的时候感觉很好用,当时对对象属性的操作不是很方便,需要写很多字符串属性名,于是自己就写了一个类似新版本里面自带生存Model的这样一个Gen类,前几个月用新版本看到已经带了,太赞了。我之前实现的提供get、set方法思路参考了Python的对象操作方法,可以连续set及crud操作,可以一直点点点的操作:),会不会太不正经~!! 还有很多想法,没有找到组织~~ 晚安啦~
回复
JFinal
2016-10-27 00:20
@andywei
jfinal 2.3 会让生成器支持你要的需求一直点点点的操作,即便是现在,你也可以通过继承 BaseModelGenerator 来扩展出这个功能来,微信群现在还没有,建议先加下微信公众号,晚安
回复
zempty
2016-10-27 11:09
好,mark,以后翻阅。
回复
JFinal
2016-10-27 11:15
@zempty
可以点击文章右下角的收藏按钮,方便以后在个人空间直接查看
回复
zempty
2016-10-27 11:36
@JFinal
好的
回复
坚强的地瓜
2016-10-27 13:27
@JFinal
我按照增加那个方法之后,报这个错误,Error:(55, 30) java: 无法访问javax.el.ELResolver 找不到javax.el.ELResolver的类文件是怎么回事呢?
回复
JFinal
2016-10-27 14:56
@坚强的地瓜
升级到 jfinal 2.2 版本即可,老版本没有这个功能
回复
坚强的地瓜
2016-10-27 15:05
@JFinal
我用的jar包就是 jifnla-2.2-bin啊
回复
坚强的地瓜
2016-10-27 16:23
我解决了,加一下apache下边的el-api.jar就可以了
回复
JFinal
2016-10-27 21:30
@坚强的地瓜
这种情况是缺少 jstl 支持的 jar 包
回复
andywei
2016-10-28 16:46
大家用了ModelRecordElResolver.setResolveBeanAsModel(true) 这个设置的朋友,要注意一个点了,就是之前在el表达式里面输出字段写骆驼命名写法的,加了这个配置后,页面所有骆驼命名写法属性名都要改成数据库字段名了,我加了这个,不知道要改几多页面显示了,思考。。。怎解。。。
回复
JFinal
2016-10-28 17:28
@andywei
因为这个配置就是通过字段名去取的值,所以最好的办法是将数据表字段也用驼峰命名,这样所有全部都统一了,三年前就已经采用这种方式为字段命名了,极爽
回复
发送
1
2
>
我要反馈
热门反馈
扫码入社