0 0

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

比如
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;
望看到的高手们帮忙,小弟正在写一个项目,急用,分不多(我是新人),但还是想请教一下,先谢谢了!

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

2个答案 按时间排序 按投票排序

0 0

采纳的答案

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

2009年12月28日 10:01
0 0

楼上的说了一堆其实就一点。

写两个getId(){
return getUserId();
}
etId(){
return getDeptId();
}

然后调用的时候统一用${element.id}

2009年12月28日 11:28

相关推荐

    El表达式帮助文档

    - **动态属性访问**:如果属性名由一个变量决定,则只能使用`[]`操作符,例如: - 假设`data`的值为“gender”,则`${sessionScope.user[data]}`等同于`${sessionScope.user.gender}`。 ##### 3. 运算符的使用细节...

    在自定义spring aop中使用el获取拦截方法的变量值。

    在`interceptWithEL`方法中,我们创建了一个`StandardEvaluationContext`,将方法内的局部变量放入上下文中,并使用Spring Expression Language(SpEL)解析表达式以获取变量的值。 这个过程展示了如何在Spring AOP...

    Java中使用EL表达式文档

    ### Java中使用EL表达式详解 #### 一、EL表达式概述 EL(Expression Language),即表达式语言,是在JSP 2.0 (JavaEE 1.4) 规范中引入的一种强大的功能,用于简化数据获取和处理过程。EL表达式主要用来替代JSP页面中...

    【温故而知新】一个极好极全极简明的EL表达式的学习文档

    例如,`ognl:person.get('firstName')`可以获取`person`对象的第一个名字属性,即使该属性不是直接可用的公共字段。 STRUTS2标签库中的符号`#`、`$`和`%`具有特定含义。`#`在STRUTS2中通常用于引用ActionContext,`...

    Dorado软件dataset字段EL判断表达式

    ### Dorado软件Dataset字段EL判断表达式详解 在日常工作中,我们经常需要用到Dorado软件中的Dataset字段EL(Expression Language)判断表达式来进行数据的有效性验证。这些表达式可以帮助我们在前端直接进行格式...

    EL表达式学习笔记(经典版)

    此外,`[]`还允许动态取值,如`${sessionScope.user[data]}`,这里的`data`是一个变量。 在EL中,变量的存取相当直观。例如,`${username}`会尝试在Page、Request、Session和Application范围中依次查找名为`...

    练习1:使用EL表达式实现一项问卷调查.zip

    在本实践项目“练习1:使用EL表达式实现一项问卷调查”中,我们将深入探讨Java Web开发中的一个重要组件——EL(Expression Language),它是JavaServer Pages(JSP)标准的一部分,用于简化网页和JavaBean之间的...

    EL表达式和jsp JSTL标签库的总结

    举例来说,如果想要访问`requestScope`中的一个名为`name`的属性,可以使用`${requestScope.name}`这样的EL表达式。 - **pageScope**:`("name") %>`等同于`${pageScope.name}` - **requestScope**:`("name") %>`...

    s:iterator的EL表达式原理

    在EL表达式中,实际上底层是使用了OGNL(Object-Graph Navigation Language)来处理对象导航和表达式的求值。OGNL是一种强大的表达式语言,可以用来获取或设置Java对象的属性,包括深层的对象属性和集合元素。例如,...

    Java-EL表达式语言讲解,适合初级人员入门学习

    ### Java-EL表达式语言详解 #### 一、EL表达式概述 EL(Expression Language),即表达式语言,是JavaServer Pages(JSP)技术中的一个重要组成部分。EL表达式主要用于简化JSP页面中的数据检索过程,使得开发者能够...

    03_javaWeb知识之:EL表达式

    例如,`${paramValues.hobby[0]}`表示获取`hobby`参数的第一个值。 - **header**:类型为`Map, String>`,用于获取HTTP头部信息。 - **headerValues**:类型为`Map, String[]>`,当一个头部字段可能有多个值时使用。...

    EL、JSTL表达式案例精讲

    - **请求参数处理**:假设用户提交了一个包含姓名和年龄的表单,开发者可以直接使用`${param.name}`和`${param.age}`来获取这两个参数的值,无需编写复杂的`getParameter()`方法调用。 - **Cookie管理**:在需要...

    JavaWeb开发技术-EL表达式.pptx

    EL表达式的语法结构非常直观,通常以`${`开头,后面跟一个表达式,然后以`}`结束。例如,`${expression}`,这里的`expression`可以是任何能够返回Java对象的表达式。EL表达式会自动处理类型转换,将结果转换为适合在...

    实现通过EL获取用户的注册信息

    在Java Web开发中,EL(Expression Language)表达式是一种强大的工具,用于在JSP页面上简洁...通过熟练掌握EL表达式,你可以更高效地构建动态、交互式的Web应用,提升用户体验,同时也降低了代码的复杂度和维护难度。

    EL表达式的隐式对象_动力节点Java学院整理

    header隐式对象是EL表达式的一个特殊对象,表示一个保存了该JSP页面发出请求的请求头字段的Map集合对象。header对象可以获取请求头字段的信息,但不能获取响应头字段的信息。 在实际应用中,EL表达式的隐式对象可以...

    javaScript使用EL表达式的几种方式

    假设我们有一个JavaScript函数`displayValue(value)`,我们可以在JSP中这样调用它:`displayValue(${myVar})`,这里的`myVar`是服务器端的一个变量。这种方式使得JavaScript能够接收到服务器端的数据并进行处理。...

    运用El表达式截取字符串/获取list的长度实例

    在示例中`${fn:substring(wjcd.lrsj, 0, 16)}`,`wjcd.lrsj`可能是一个属性表达式,代表某个对象的`lrsj`字段,`fn:substring`函数截取这个字段值的前16个字符。函数接受三个参数:原始字符串、开始位置和结束位置。...

    JavaEE+JDBC+Servlet+EL表达式的员工信息管理系统.zip

    本文将深入探讨如何利用JavaEE技术栈,结合JDBC(Java Database Connectivity)进行数据库交互,以及Servlet和EL(Expression Language)表达式来构建一个高效、易维护的员工信息管理系统。 JavaEE,全称为Java ...

Global site tag (gtag.js) - Google Analytics