weixin_42355128 2009-12-28 09:49
浏览 525
已采纳

el表达式如何动态获得某一个字段的值?

比如
class User{
Integer userId;
String userName;
}
class Dept{
Integer deptId;
String deptName;
}
然后我根据需要得到一个User或Dept的List, 这个List的名子叫做:entityList
最后我要用el表达式来得到这个List中实体的属性
比如:${entity.userId}可以得到User的id;
${entity.deptId}可以得到Dept的id;
问题来了:
如果我不知道这个entityList中保存的是User还是Dept
那么,我如何得到entityList中实体的属性呢?
也就是说,如果它是User 那么我就得到userId;
如果它是Dept,那么我就得到deptId;
望看到的高手们帮忙,小弟正在写一个项目,急用,分不多(我是新人),但还是想请教一下,先谢谢了!

[b]问题补充:[/b]
虽然对于我现在写的这个项目不太能用,但感谢你对此问题关注!
其实我现在要用的不只是User和Dept,而是有十好几个类呢,并且Hibernate要用到这些类查询数据,而最最不可行的是:生成的这些类不是我负责的,相信我还没有那么大的力量说服那个传说中的项目经理来这样改变
但我觉得你说的思想我还是挺认同的,呵呵~~我把查出来的数据又封装到了一个统一个vo中,虽然多了一个for循环,但也讲研着能用吧

  • 写回答

2条回答 默认 最新

  • pengjiu 2009-12-28 10:01
    关注

    你写一个接口,User和Dept分别实现接口,接口中的方法你可以写成统一的 getId和getName 然后User中实现时这样写getId(){return getUserId();}在Dept中写成getId(){return getDeptId();}根具你的情况类推,然后List里面就装接口类这样你用el表达示的时候就可以统一啦。不用在关心是user还是dept,统一调用getId()和getName();不知道这样对你可不可行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办