spring中循环次数的问题

grady0926 2008-11-14 11:53:09
现在做一个栏目管理,分一级栏目和二级栏目,在栏目列表中要将一二级栏目显示出来,我用自定义标签实现,代码如下:
package com.court.web.tag;

import java.io.Writer;
import java.util.List;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

import org.springframework.web.context.support.WebApplicationContextUtils;

import com.court.business.BusinessInterface;
import com.court.businessImpl.BusinessInterfaceImpl;
import com.court.model.Column;

@SuppressWarnings("serial")
public class ColumnDisplayTag extends TagSupport {

private BusinessInterface bi;

public BusinessInterface getBi() {
if (bi == null)
bi = (BusinessInterfaceImpl) WebApplicationContextUtils
.getRequiredWebApplicationContext(
this.pageContext.getServletContext()).getBean(
"businessinterface");

return bi;
}

@SuppressWarnings("unchecked")
public int doEndTag() throws JspException {

try {
Writer out = pageContext.getOut();
List<Column> ones = getBi().findAllParentColumn();

if (ones != null && ones.size() > 0) {
for (Column c : ones) {
List<Column> twos = null;
out.append("<tr class='mainFaceList1'>");
out
.append("<td><input title='全选' type='checkbox' name='id2'></td>");
out.append("<td>" + c.getName() + "</td>");
out.append("<td>" + "一级栏目" + "</td>");
out.append("<td>" + "" + "</td>");
out
.append("<td class='mainFaceList2Option'><img class='imgButton' src='../images/icoEidt.gif' alt='编辑' width='12' height='12'");
out
.append(" onclick=\"javascript:window.location.href='columnQuery.do?id="
+ c.getId() + "'\"></td></tr>");
twos = getBi().findColunmByParentId(c.getId());
if (twos != null && twos.size() > 0) {
for (Column column : twos) {
out.append("<tr class='mainFaceList1'>");
out
.append("<td class='mainFaceList2'><input title='全选' type='checkbox' name='id2'></td>");
out.append("<td class='mainFaceList2'>"
+ column.getName() + "</td>");
out.append("<td class='mainFaceList2'>" + "二级栏目"
+ "</td>");
out.append("<td class='mainFaceList2'>" + ""
+ "</td>");
out
.append("<td class='mainFaceList2Option'><img class='imgButton' src='../images/icoEidt.gif' alt='编辑' width='12' height='12'");
out
.append(" onclick=\"javascript:window.location.href='columnQuery.do?id="
+ column.getId() + "'\"></td></tr>");
}
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
}

return super.doEndTag();
}

}
业务逻辑类方法如下:

@SuppressWarnings("unchecked")
public List<Column> findColunmByParentId(final long id) {
return getTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) {
String QL = "FROM Column u WHERE u.parentcolumn=:id";
Query q = session.createQuery(QL);
q.setLong("id", id);
return q.list();
}
});


}
现在出现的问题是当一级栏目的数量超过10时,循环到最后一个时页面就卡住,经过调试发现是在执行findColunmByParentId()时停住了,不知道是什么原因呢
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ipfqhhfuj 2008-11-22
  • 打赏
  • 举报
回复
路过
zy2419 2008-11-19
  • 打赏
  • 举报
回复
顶下吧
rascalboy520 2008-11-19
  • 打赏
  • 举报
回复
if (ones != null && ones.size() > 0) {
for (Column c : ones) {


if (twos != null && twos.size() > 0) {

这个条件是不用的,你下面都用了:
for (Column c : ones) {
你把上面的去掉一下试试,
liguangwen86 2008-11-15
  • 打赏
  • 举报
回复
帮顶一下!!

67,537

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧