JSP标签和EL取值错误问题!拜托各位大神
/*************Servlet文件片断:************///javaBeanMessage有个属性Name//设定集合类Collectionret=...
/*************Servlet文件片断:************/ // javaBean Message 有个属性Name //设定集合类 Collection ret = new ArrayList(); try{ while(rs.next()){ Message mg = new Message(); mg.setName(rs.getString(2)); ret.add(mg); } }catch (Exception e){ } //视图转发到ViewInsertOk.jsp页面 request.setAttribute("ret", ret); RequestDispatcher requestDispatcher = request.getRequestDispatcher("ViewInsertOk.jsp"); requestDispatcher.forward(request,response); ---------------------------------------------------------------------------------------------- /***********ViewInsertOk.jsp页面片断:***********/ <c:catch var="myException"> <c:forEach var="rets" items="${ret}"> <c:out value="${rets}"/><br><br> </c:forEach> </c:catch> --------------------------------------------------------------------------------------------- 在前台显示出来的居然是: com.Message@1a271f5 com.Message@1e7a755 com.Message@19adc2c 各位帮看看,是哪块出的原因呢?谢谢了!
展开
1个回答
展开全部
你集合里放的对象是com.Message,用forEach循环,${rets }输出的当然是每个Message的toString方法的返回值。 EL表达式${var },你可以当他的效果是<% out.print(var.toString()); %>,输出的是var.toString()。 你自定义一个Message类,没有重写toString方法,用的是Object的toString方法,就是类@地址。 想要输出name的写法是${rets.name }。
记得采纳啊
记得采纳啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询