<c:if test="${not empty list}">
<c:forEach items="${list}" var="articleItem">
<tr>
<td width="15%">${articleItem.id }</td>
<td width="15%"><a href="articleItem.do?parentItemId=${articleItem.id }">${articleItem.name}</a></td>
<td width="15%"></td>
<td width="15%"></td>
<td width="15%">${articleItem.parentItem.id }</td>
<td width="25%"><a href="articleItem.do?method=delArticleItem4Action&id=${articleItem.id }"> 删除</a>
<a href="articleItem.do?method=addArticleItemInput4Action&parentItemId=${articleItem.id }"> 添加二级标题</a>
</td>
</tr>
<c:forEach items="${articleItem.chItem }" var="child">
<tr>
<td width="15%">${child.id }</td>
<td width="15%"></td>
<td width="15%"><a href="articleItem.do?parentItemId=${child.id }">${child.name }</a></td>
<td width="15%"></td>
<td width="15%">${child.parentItem.id }</td>
<td width="25%"><a href="articleItem.do?method=delArticleItem4Action&id=${child.id }"> 删除</a>
<a href="articleItem.do?method=addArticleItemInput4Action&parentItemId=${child.id }"> 添加三级标题</a>
</td>
</tr>
<c:forEach items="${child.chItem }" var="child2" >
<tr>
<td width="15%">${child2.id }</td>
<td width="15%"></td>
<td width="15%"></td>
<td width="15%"><a href="articleItem.do?parentItemId=${child2.id }">${child2.name }</a></td>
<td width="15%">${child2.parentItem.id }</td>
<td width="25%"><a href="articleItem.do?method=delArticleItem4Action&id=${child2.id }"> 删除</a>
</td>
</tr>
</c:forEach>
</c:forEach>
</c:forEach>
<c:forEach items="${list}" var="articleItem">
<tr>
<td width="15%">${articleItem.id }</td>
<td width="15%"><a href="articleItem.do?parentItemId=${articleItem.id }">${articleItem.name}</a></td>
<td width="15%"></td>
<td width="15%"></td>
<td width="15%">${articleItem.parentItem.id }</td>
<td width="25%"><a href="articleItem.do?method=delArticleItem4Action&id=${articleItem.id }"> 删除</a>
<a href="articleItem.do?method=addArticleItemInput4Action&parentItemId=${articleItem.id }"> 添加二级标题</a>
</td>
</tr>
<c:forEach items="${articleItem.chItem }" var="child">
<tr>
<td width="15%">${child.id }</td>
<td width="15%"></td>
<td width="15%"><a href="articleItem.do?parentItemId=${child.id }">${child.name }</a></td>
<td width="15%"></td>
<td width="15%">${child.parentItem.id }</td>
<td width="25%"><a href="articleItem.do?method=delArticleItem4Action&id=${child.id }"> 删除</a>
<a href="articleItem.do?method=addArticleItemInput4Action&parentItemId=${child.id }"> 添加三级标题</a>
</td>
</tr>
<c:forEach items="${child.chItem }" var="child2" >
<tr>
<td width="15%">${child2.id }</td>
<td width="15%"></td>
<td width="15%"></td>
<td width="15%"><a href="articleItem.do?parentItemId=${child2.id }">${child2.name }</a></td>
<td width="15%">${child2.parentItem.id }</td>
<td width="25%"><a href="articleItem.do?method=delArticleItem4Action&id=${child2.id }"> 删除</a>
</td>
</tr>
</c:forEach>
</c:forEach>
</c:forEach>
解决方案 »
- Hibernate查询时,事务的问题
- 看看这是怎么回事?
- struts2中在一个类中如何返回"<a></a>"字符串???急!!!
- 用jsp如何获取tomcat安装目录?
- hibernate 连续两次 left join怎么写?
- 我是新手,想先大家请教一下,我想学JAVA先买什么书呢?
- 请教一个在hibernate中用 outer join 查询的问题
- 加群:11588934。在用servlet,jdbc,struct,eclipse....开发您的项目吗,有需要解决的问题吗,进来讨论吧。。。。
- 我在websphere新建一个可视类后添加button,是否可以通过双击这个button使websphere自动生成一段actionListener的代码框架???
- 对于Java系统,大家现在都用什么系统架构?有用前后台分离的架构吗?
- 关于hibernate的
- <logic:lessEqual >标签的使用
我这种实现方法有点简单哈,不知道有没有更好的实现方法呢?
查询语句如下:
ArticleItem parentItem = (ArticleItem)getHibernateTemplate().load(ArticleItem.class, parentItemId);
List list =getSession().createQuery("from ArticleItem ai where ai.parentItem = ? order by id ASC").setParameter(0,parentItem ).list();
1.首先从数据库里查询出一个LIST<ArticleItem>,
2、取出一个ArticleItem,这里就是一级目录
3、获取ArticleItem.chItem(child),这个就是上面一级目录的Set集合,作为二级目录
3、获取child.chItem作为三级目录,同样这里的数据也是个Set集合所以我在二级目录和三级目录里面的都是Set集合的值,所以这个问题关键是,如何安正确的顺序输出Set集合
具体的hbm.xml如下
<many-to-one name="parentItem" column="parentItemId"/>
<set name="chItem" inverse="true" lazy="extra">
<key column="parentItemId"></key>
<one-to-many class="com.lianzhuang.po.ArticleItem"/>
</set>
ArticleItemActionForm aiaf = (ArticleItemActionForm)form;
ArticleItem articleItem = new ArticleItem();
BeanUtils.copyProperties(aiaf, articleItem);
articleItemManager.addArticleItem(articleItem, aiaf.getParentItemId());
return mapping.findForward("add_success");
}
public ActionForward delArticleItem4Action(ActionMapping mapping,ActionForm form , HttpServletRequest request ,HttpServletResponse response) throws Exception{
ArticleItemActionForm aiaf = (ArticleItemActionForm)form;
articleItemManager.delArticleItem(aiaf.getId());
return mapping.findForward("del_item");
}
只能在添加parent时,在其parenItem中的child的Set集中加入一个child
另外,你的parentItem里用的是set?那么我记得set里的元素至少Sun没有规定要有顺序,所以每次刷新顺序不同就不奇怪了,人家只负责保证把每个元素都取出来,你换个别的集合类,要么就说服你的Boss和客户,这东西没啥关系,只能这样了
已经搞定,就是按你说的在配置文件的set中加了order-by="parentItemId",非常感谢
可以结贴了哈 哈哈