为什么我从建立的视图中取得的数据在页面用C:FOREACH显示多条数据都只有数据第一条?
比如 :
id 部门 该部门可发放的证件1 a部门 证件a
1 a部门 证件b
1 a部门 证件b
这个是a部门所能够发放的证件,语句在数据库中查询是正确的 ,但是用HQL取出的LIST 都是第一条,但是条数是正确的
比如 :
id 部门 该部门可发放的证件1 a部门 证件a
1 a部门 证件b
1 a部门 证件b
这个是a部门所能够发放的证件,语句在数据库中查询是正确的 ,但是用HQL取出的LIST 都是第一条,但是条数是正确的
解决方案 »
- 怎么才会让图片不变形显示啊
- ibatis+dwr+spring分页,报java.lang.ArrayIndexOutOfBoundsException
- 小妹求问各位大哥大姐关于applet怎样访问数据库的问题?
- 急~jsp对textarea的处理~望大人解决一下
- 读取数据库中的以image类型存储的文件的错误。
- ${} 显示问题
- @validated和@valid的区别
- 在jsp+oracle中怎样实现格式化输出文本
- 10用户的sqlserver是不是只允许同时10个Connection的存在?
- dobbo+ssm+maven开发消费者调用接口时dao层对象为空
- 什么样的项目最让面试官亲睐```
- JAVA如何获取MSN好友列表?
1 a部门 证件b
1 a部门 证件b 以上是数据库查询的结果.
以下是页面显示的结果
1 a部门 证件a
1 a部门 证件a
1 a部门 证件a
id 部门 该部门可发放的证件 1 a部门 证件a
1 a部门 证件b
1 a部门 证件b 应该是:
id 部门 该部门可发放的证件 1 a部门 证件a
1 a部门 证件b
1 a部门 证件c
var="depa_certbyid">
<tr style="height: 20;">
<td align="center">
<font size="2">${depa_certbyid.departname}</font>
</td>
<td align="center">
<font size="2">${depa_certbyid.certificatetypename}</font>
</td>
<td align="center">
<font size="2">${depa_certbyid.maxnum}</font>
</td>
</tr>
</c:forEach><c:forEach>
不是自动的啊 ?
比如
我查出的LIST一共有3条
用iterator迭代出来的也是3条,但是显示的都是第一条的数据,为什么啊
那说明你的 List 里面的数据都是相同的!你使用的 forEach 没有问题。建议你检查一下 List 的来源,以及 List 中的数据。
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String departid = request.getParameter("departid");
// 返回所有的部门
departinfoDAOInterface depdaoall = (departinfoDAOInterface) super
.getService(Global.departinfo);
List listall = depdaoall.listAll(departinfo.class);
request.setAttribute("departinfo", listall);
// 返回根据ID查出的该部门的名称
departinfoDAOInterface depdao = (departinfoDAOInterface) super
.getService(Global.departinfo);
departinfo depn = (departinfo) depdao.getObjectById(departinfo.class,
departid);
request.setAttribute("departinfobyid", depn);
// 根据传过来的ID取得所有该部门的证件
depa_certDAOInterface dep_certdao = (depa_certDAOInterface) super
.getService(Global.depa_cert);
String hql = "from depa_cert as dc where dc.departid='"+departid+"'";
List list = (List) dep_certdao.getObjectsByHql(hql);
Iterator<depa_cert> it=list.iterator();
while(it.hasNext())
{
depa_cert d_c=it.next();
System.out.println(d_c.getCertificatetypename()+d_c.getDepartname()+d_c.getMaxnum());
}
System.out.println(list.size());
request.setAttribute("depa_certbyid", list);
//返回页面
return mapping.findForward("success");
}这个就是对应的ACTION方法。
while(it.hasNext())
{
depa_cert d_c=it.next();
System.out.println(d_c.getCertificatetypename()+d_c.getDepartname()+d_c.getMaxnum());
}
打印出来的也是一样,也就是说查出的LIST就是有问题 ,但是我直接把HQL放入数据库查询是正确的啊
我肯定HQL没有错误,因为我直接把HQL放入数据库查询是没有错的,
晕,你自己都说查出来的list已经有问题,那应该不是forEach的问题,你还是检查你的dao类
return super.getHibernateTemplate().find(hql);
}这个是DAO继承类的方法,和这个没关系的
dao接口没有写代码的