hibernate 加el出的错误

    当用hibernate  查出一个list时  在网页中用el拿他的值时,出下面的错误

 

javax.servlet.ServletException: 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.

 

我找了半天的原因.list有值.什么就拿不出来呢?

 

在网上找了找.就http://bbmyth.iteye.com/blog/31816  中有点说明.但说的不什么清楚.

我现在把原因说一下.

hibertate 拿出的list中放的是一个Object[]  obj 数组.要拿他的值要用 obj[0],obj[1]来拿.在网页可以用

 <% for (Iterator iter=list.iterator(); iter.hasNext();) {
	  Object[] obj = (Object[])iter.next();
  %>
          <%=obj[1] %>  
  <%} %>

 

或用EL表达式:

 <!-- user这个是一个Object 在下面的要用数组来拿=obj[1] ${user[1 ]} -->
		<c:forEach items="${list}" var="user" varStatus="df">

			<option value="${user[1] }">${user[1 ]}</option>

		</c:forEach>

 

如我的user 有id ,name ,age
 obj[0],就是你定义的user的第一个变量id,  obj[1],就是你定义的user的第二个变量name.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值