用hibernate时的查询语句如下:
select message.messId,message.name,message.content,message.createTime,message.sender from UserInfoPO as user,MessagePO as message where user.number=:number and user.userId=message.user.userId order by message.messId
在页面显示的时候报如下的错误:
javax.servlet.jsp.el.ELException: The "." operator was supplied with an index value of type "java.lang.String" to be applied to a List or array, but that value cannot be converted to an integer.
如何解决?
select message.messId,message.name,message.content,message.createTime,message.sender from UserInfoPO as user,MessagePO as message where user.number=:number and user.userId=message.user.userId order by message.messId
在页面显示的时候报如下的错误:
javax.servlet.jsp.el.ELException: The "." operator was supplied with an index value of type "java.lang.String" to be applied to a List or array, but that value cannot be converted to an integer.
如何解决?
select message.messId,message.name,message.content,message.createTime,message.sender from UserInfoPO as user,MessagePO as message where user.number=:number and user.userId=message.user.userId order by message.messId
你这样查询所返回的结果集是集合类型封装数组 大概是:List<Object[]>
也就是说你在循环该结果集后所得到的是个数据
因此在页面显示时应该是:
<%
for (int i = 0; i < list.size(); i++) {
Object[] obj = (Object[])list.get(i);
out.println("第一列:" + obj[0]);
out.println("第二列:" + obj[1]);
}
%>
如果你是用Jstl+El那就更好办了 哈哈 如下:
<c:forEach items="${list}" var="obj">
第一列:${obj[0]}
第二列:${obj[1]}
</c:forEach>