String juniorApprovalUserHql = "select c.id,c.username from UserInfo c left join c.userRole where c.userRole.id = 16"; ListjuniorApprovalUser = accountService.find(juniorApprovalUserHql);
jdk1.8,tomcat8
el取值的写法
<c:forEach items="${juniorApprovalUser }" var="junior" >
<option value="${junior[0] }">${junior[1] }</option><!--用户ID,用户真实姓名 --> </c:forEach>这里明明是一个list<UserInfo> 但是在jsp里面用el表达式循环取值(userinfo值)只一个报数字类型转换异常,调试了很久,始终找不到,然后仔细看看debug,看看这个里面的list,定义的是UserInfo类型,为什么里面趋势数组,是因为,我这里只取了两个值的原因吗?
写不全的时候用的是数组,写全了用的就是对象
String seniorApprovalUserHql = "select c from UserInfo c left join c.userRole where c.userRole.id = 18";
List<UserInfo> seniorApprovalUser = accountService.find(seniorApprovalUserHql);这样就可以用el表达式<c:forEach items="${seniorApprovalUser }" var="user" >
<option value="${user.id }">${user.username}</option> </c:forEach> 取值,否则不能用,只能用数组取值