锁定老帖子 主题:关于jstl
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (12)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-09
从网上找了2小时,没有找到好的解决方法。 后来从javaeye上看到一篇文章,虽然不对,但是给我了启发:el表达式可以直接通过get方法读取对象的值!呵呵 修改Organization.java和Employee.java,增加了如下的部分: 1、Organization.java private String className; public String getClassName() { return "com.zb.itams.domain.Employee"; } public void setClassName(String className) { this.className = "com.zb.itams.domain.Employee"; } 2、Employee.java private String className; public String getClassName() { return "com.zb.itams.domain.Organization"; } public void setClassName(String className) { this.className = "com.zb.itams.domain.Organization"; } 3、在页面上: <c:forEach items="${listEmployees}" var="employees"><br /> <c:if test="${employees.className == 'com.zb.itams.domain.Organization'}"> <c:out value="${employees.organizationId}" /> <c:out value="${employees.organizationShortName}" /> </c:if> <c:if test="${employees.className == 'com.zb.itams.domain.Employee'}"> <c:out value="${employees.employeeId}" /> <c:out value="${employees.employeeFirstName}" /> <c:out value="${employees.employeeLastName}" /> </c:if> </c:forEach> 4、显示结果: 8abc8098269c7b4a2949c7b4a010011 总公司 8abc809826aa38d0294aa38d0a30000 山东分公司 8abc809826aa38d0294aa38d0a30001 张 三 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-02-09
虽然对你这个问题很无语 但还是告诉你个东西吧.
jstl读取的是get方法 你的className字段和set方法都可以删掉 |
|
返回顶楼 | |
发表时间:2010-02-09
1、你可以直接通过${employees.class.simpleName}获取其类名,而不必再给他们定义getClassName的方法
2、如果多数属性名称相同的话,可以给不相同的属性起个别名,比如都提供一个方法叫getFullName() 3、<c:out value="${employees.employeeLastName}" /> 直接写${employees.employeeLastName}就可以了,记不清楚是从那个版本开始,el的输出已经内置了。 4、var="employees" 为什么加s? |
|
返回顶楼 | |
发表时间:2010-02-11
LZ的实现感觉有点怪怪的,organization和employee两种对象既然有相似的地方,不能共同实现一个接口或什么的吗?
|
|
返回顶楼 | |
发表时间:2010-02-11
ynstudio 写道 1、你可以直接通过${employees.class.simpleName}获取其类名,而不必再给他们定义getClassName的方法
2、如果多数属性名称相同的话,可以给不相同的属性起个别名,比如都提供一个方法叫getFullName() 3、<c:out value="${employees.employeeLastName}" /> 直接写${employees.employeeLastName}就可以了,记不清楚是从那个版本开始,el的输出已经内置了。 4、var="employees" 为什么加s? 测试了,正确的。 呵呵,又学到东西了,谢谢 |
|
返回顶楼 | |
发表时间:2010-02-11
貌似2.X的时候就可以直接用$输出了
|
|
返回顶楼 | |
发表时间:2010-02-11
集合里面本来就应该放同样的东西,放两种对象在里面,最初的设计就有问题。
|
|
返回顶楼 | |
发表时间:2010-02-13
我完全无语了。。。。我还以为对jstl的什么新东西。。。
怎么会上首页呢? 抱歉楼主了,我投隐藏了。 |
|
返回顶楼 | |
发表时间:2010-02-14
建议楼主多看一下《jsp应用开发详解》,里面有jstl详尽的讲解。
|
|
返回顶楼 | |
发表时间:2010-02-21
aaa5131421 写道 集合里面本来就应该放同样的东西,放两种对象在里面,最初的设计就有问题。
初学者,见笑了。 我想实现如下图所示类似的功能: 想问一下,在设计时有什么样好的思路? |
|
返回顶楼 | |