【发布时间】:2013-02-04 10:04:08
【问题描述】:
我有一个如下所示的休眠代码,它返回单个实体类:
SQLQuery query =
session.createSQLQuery("select * from Employee");
query.addEntity(Employee.class);
List<Employee> emplist= query.list();
对于上述代码,我的 Jstl 工作代码是:
<c:choose>
<c:when test="${requestScope.size!=0}">
<table border="1">
<tr>
<th>
EmployeeName
</th>
<th>EmployeeDepartment</th>
</tr>
<c:forEach items="${requestScope.absentlist}" var="emps">
<tr>
<td><c:out value="${emps.empno}"/></td>
<td><c:out value="${emps.empname}"/></td>
</tr>
</c:forEach>
但我的要求是为返回两个实体的 Hibernate 编写 jstl 代码
这是我的休眠代码:
SQLQuery query = session
.createSQLQuery("CALL AbsentReportproc(:_fromdate,:_todate)");
query.addEntity(Master.class);
query.addEntity(DateRange.class);
query.setParameter("_fromdate", "2012-12-03");
query.setParameter("_todate", "2012-12-04");
List<RecordSet> obj = query.list();
Iterator it=obj.iterator();
while(it.hasNext())
{
Object[] obj1 = (Object[]) it.next();
for (int i = 0; i < obj1.length; i++) {
RecordSet set=(RecordSet)obj1[i];
if(set instanceof Master){
System.out.println("Employee Code"+((Master) set).getEmpcode());
System.out.println("Employee Dept"+((Master) set).getDept());
System.out.println("Employee Name"+((Master) set).getEmpname());
}
if(set instanceof DateRange){
System.out.println("AbsentDate"+((DateRange) set).getDdate());
}
}
}
谁能给我提供JSTL代码在jsp页面上显示以上结果?
【问题讨论】:
-
那么,是
List<RecordSet>还是List<Object[]>?应该显示什么?怎么样? -
从您的问题中不清楚为什么您提供的 JSTL 对这两种情况都不起作用。您可以发布您的支持对象的代码吗?
-
当我调用 list() 方法时,我可以使用具有 obj[0]={Master obj,DateRange obj} 等的 Object 数组项......
-
我用过但忘了在上面的链接中提到公共类Master扩展RecordSet和公共类DateRange扩展RecordSet
标签: java spring hibernate jstl hibernate-mapping