-
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个答案 按时间排序 按投票排序
-
采纳的答案
你写一个接口,User和Dept分别实现接口,接口中的方法你可以写成统一的 getId和getName 然后User中实现时这样写getId(){return getUserId();}在Dept中写成getId(){return getDeptId();}根具你的情况类推,然后List里面就装接口类这样你用el表达示的时候就可以统一啦。不用在关心是user还是dept,统一调用getId()和getName();不知道这样对你可不可行。
2009年12月28日 10:01
-
楼上的说了一堆其实就一点。
写两个getId(){
return getUserId();
}
etId(){
return getDeptId();
}
然后调用的时候统一用${element.id}2009年12月28日 11:28
相关推荐
- **动态属性访问**:如果属性名由一个变量决定,则只能使用`[]`操作符,例如: - 假设`data`的值为“gender”,则`${sessionScope.user[data]}`等同于`${sessionScope.user.gender}`。 ##### 3. 运算符的使用细节...
在`interceptWithEL`方法中,我们创建了一个`StandardEvaluationContext`,将方法内的局部变量放入上下文中,并使用Spring Expression Language(SpEL)解析表达式以获取变量的值。 这个过程展示了如何在Spring AOP...
### Java中使用EL表达式详解 #### 一、EL表达式概述 EL(Expression Language),即表达式语言,是在JSP 2.0 (JavaEE 1.4) 规范中引入的一种强大的功能,用于简化数据获取和处理过程。EL表达式主要用来替代JSP页面中...
例如,`ognl:person.get('firstName')`可以获取`person`对象的第一个名字属性,即使该属性不是直接可用的公共字段。 STRUTS2标签库中的符号`#`、`$`和`%`具有特定含义。`#`在STRUTS2中通常用于引用ActionContext,`...
### Dorado软件Dataset字段EL判断表达式详解 在日常工作中,我们经常需要用到Dorado软件中的Dataset字段EL(Expression Language)判断表达式来进行数据的有效性验证。这些表达式可以帮助我们在前端直接进行格式...
此外,`[]`还允许动态取值,如`${sessionScope.user[data]}`,这里的`data`是一个变量。 在EL中,变量的存取相当直观。例如,`${username}`会尝试在Page、Request、Session和Application范围中依次查找名为`...
在本实践项目“练习1:使用EL表达式实现一项问卷调查”中,我们将深入探讨Java Web开发中的一个重要组件——EL(Expression Language),它是JavaServer Pages(JSP)标准的一部分,用于简化网页和JavaBean之间的...
举例来说,如果想要访问`requestScope`中的一个名为`name`的属性,可以使用`${requestScope.name}`这样的EL表达式。 - **pageScope**:`("name") %>`等同于`${pageScope.name}` - **requestScope**:`("name") %>`...
在EL表达式中,实际上底层是使用了OGNL(Object-Graph Navigation Language)来处理对象导航和表达式的求值。OGNL是一种强大的表达式语言,可以用来获取或设置Java对象的属性,包括深层的对象属性和集合元素。例如,...
### Java-EL表达式语言详解 #### 一、EL表达式概述 EL(Expression Language),即表达式语言,是JavaServer Pages(JSP)技术中的一个重要组成部分。EL表达式主要用于简化JSP页面中的数据检索过程,使得开发者能够...
例如,`${paramValues.hobby[0]}`表示获取`hobby`参数的第一个值。 - **header**:类型为`Map, String>`,用于获取HTTP头部信息。 - **headerValues**:类型为`Map, String[]>`,当一个头部字段可能有多个值时使用。...
- **请求参数处理**:假设用户提交了一个包含姓名和年龄的表单,开发者可以直接使用`${param.name}`和`${param.age}`来获取这两个参数的值,无需编写复杂的`getParameter()`方法调用。 - **Cookie管理**:在需要...
EL表达式的语法结构非常直观,通常以`${`开头,后面跟一个表达式,然后以`}`结束。例如,`${expression}`,这里的`expression`可以是任何能够返回Java对象的表达式。EL表达式会自动处理类型转换,将结果转换为适合在...
在Java Web开发中,EL(Expression Language)表达式是一种强大的工具,用于在JSP页面上简洁...通过熟练掌握EL表达式,你可以更高效地构建动态、交互式的Web应用,提升用户体验,同时也降低了代码的复杂度和维护难度。
header隐式对象是EL表达式的一个特殊对象,表示一个保存了该JSP页面发出请求的请求头字段的Map集合对象。header对象可以获取请求头字段的信息,但不能获取响应头字段的信息。 在实际应用中,EL表达式的隐式对象可以...
假设我们有一个JavaScript函数`displayValue(value)`,我们可以在JSP中这样调用它:`displayValue(${myVar})`,这里的`myVar`是服务器端的一个变量。这种方式使得JavaScript能够接收到服务器端的数据并进行处理。...
在示例中`${fn:substring(wjcd.lrsj, 0, 16)}`,`wjcd.lrsj`可能是一个属性表达式,代表某个对象的`lrsj`字段,`fn:substring`函数截取这个字段值的前16个字符。函数接受三个参数:原始字符串、开始位置和结束位置。...
本文将深入探讨如何利用JavaEE技术栈,结合JDBC(Java Database Connectivity)进行数据库交互,以及Servlet和EL(Expression Language)表达式来构建一个高效、易维护的员工信息管理系统。 JavaEE,全称为Java ...