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 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀