您好我正在使用jsp和spring mvc。 我正在尝试显示学生表中的sutdent名称,父亲姓名和来自考勤表的布尔标志。 我可以从下面的查询中获取所需的列表,
List<AttendanceCommandName> studentsList = (List<AttendanceCommandName>) session.createQuery("select a.studentId,s.studentName,s.fatherName,a.presentFlag from Attendance a,Student s where a.studentId = s.studentId and s.departmentId="+classid+" group By a.studentId").list();
此处AttendanceCommandName类包含学生和出勤实体
我的jsp迭代看起来像这样,
<c:if test="${!empty studentsList}">
<c:forEach items="${studentsList}" var="student">
<tr>
<td>${student.studentId}</td>
<td>${student.studentName}</td>
<td>${student.fatherName}</td>
<td> <input type="checkbox" path="student.presentFlagList" value="${student.studentId}" /></td>
</c:forEach>
</c:if>
我能够在[[Ljava.lang.Object; @ 6d987577这种格式]中获取对象 无法在jsp中迭代任何正文请在这方面建议我。
答案 0 :(得分:0)
在您的Hibernate查询中,它返回Object对象数组列表而不是自定义对象的学生列表,因此将其更改为
List<Object[]> objList= (List<Object[]>) session.createQuery("select a.studentId,s.studentName,s.fatherName,a.presentFlag from Attendance a,Student s where a.studentId = s.studentId and s.departmentId="+classid+" group By a.studentId").list();
在java中迭代此对象数组列表并创建学生列表
List<AttendanceCommandName> list=new ArrayList<>;
for(Object[] o:objList){
AttendanceCommandName s=new AttendanceCommandName();
s.setId=o[0];
s.setstudentName=o[1];
s.setfatherName=o[2];
s.setpresentFlag=o[3];
//type cast above attribute as per your variables
list.add(s);
}
现在在jsp
中迭代此列表答案 1 :(得分:0)
应该是<c:if test="${not empty studentsList}">
而不是<c:if test="${!empty studentsList}">