请教一个LIST,往JSP里面赋值的问题

lvze521lvze 2011-08-24 10:30:38
public List getListall(String hsql) {


Query queryObject = getSession().createSQLQuery(hsql);
List list = queryObject.list();



return list;


}这是底层方法
String hsql = "select (select department from t_department where rwfpb.section=id) as zzcj,";
hsql = hsql+"to_char(rwfpb.zzjhrq,'yyyy-mm') as zzjhrq,";
hsql = hsql+"(select b_gxb.gxname from b_gxb where b_gxb.id = gxmxb.gxname) as gxname,";
hsql = hsql+"rwfpb.rwh,rwfpb.gzh,ljmxb.jh,gxmxb.gxh,gxmxb.djde,de_lx,";
hsql = hsql+"(select mark from dgprocessstatus where rwh = gxmxb.rwh and ";
hsql = hsql+"gzh = rwfpb.gzh and jh = gxmxb.jh and gxh = gxh) as mark,gxmxb.gxcontent ";
hsql = hsql+"from gxmxb,rwfpb,ljmxb ";
hsql = hsql+"where gxmxb.rwh = rwfpb.rwh and";
hsql = hsql+" gxmxb.gzh = rwfpb.gzh and";
hsql = hsql+" ljmxb.rwh = rwfpb.rwh and";
hsql = hsql+" ljmxb.gzh = rwfpb.gzh and";
hsql = hsql+" ljmxb.jh = gxmxb.jh and";
hsql = hsql+" rwfpb.isfinish = '0' and";
hsql = hsql+" gxmxb.wwbz= '0' and gxmxb.djde>0 and";
hsql = hsql+" rwfpb.section like '"+workshop+"'||'%'";
hsql = hsql+" and rwfpb.zzjhmark = '1' and to_char(rwfpb.pzdt,'yyyy-mm') like '"+m_jhyf+"'||'%'";
hsql = hsql+" and rwfpb.gzh like '"+m_gzh+"'||'%' and nvl(rwtype,' ') like '"+m_qr+"'||'%'";
hsql = hsql+" and rwfpb.xb like '"+m_xb+"'||'%' and pzrw like '"+m_pzrw+"'||'%' and gxmxb.finishmark = '0'";
hsql = hsql+" and gxmxb.gxname = '"+m_gxh+"' and de_lx in ('A','B','C')";
rwlist = service.getListall(hsql);这是SQL语句

List rwlist = service.getListall(hsql);
这是得到一个List多行的

for (int i = 0; i < lst.size(); i++) {
wwgzbean o =(wwgzbean) lst.get(i);

System.out.print(o.getJH());
htmlCount.append(" <tr>");
htmlCount.append(" <td>"+o.getRWH()+"</td>");
htmlCount.append(" <td>"+o.getGZH()+"</td>");
htmlCount.append(" <td>"+o.getJH()+"</td>");
htmlCount.append(" <td>"+o.getGXH()+"</td>");
htmlCount.append(" <td>"+o.getGXNAME()+"</td>");
htmlCount.append(" <td>"+o.getDE_LX()+"</td>");
htmlCount.append(" <td>"+o.getDJDE()+"</td>");
htmlCount.append(" <td>"+o.getMARK()+"</td>");
htmlCount.append(" <td>"+o.getZZCJ()+"</td>");
htmlCount.append(" <td>"+o.getZZJHRQ()+"</td>");
htmlCount.append(" </tr>");
}
我如何通过FOR循环放到这个里面
...全文
949 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
坐观垂钓者 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 lvze521lvze 的回复:]
引用 25 楼 zhao88148201 的回复:
拜托你以后把问题问清楚啊!!!!

你真厉害,这个破任务愁死我了 应该是解决了 谢谢啊
[/Quote]
给分
zhao88148201 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 lvze521lvze 的回复:]
引用 25 楼 zhao88148201 的回复:
拜托你以后把问题问清楚啊!!!!

你真厉害,这个破任务愁死我了 应该是解决了 谢谢啊
[/Quote]

那就结贴 给分撒 哈哈
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 zhao88148201 的回复:]
拜托你以后把问题问清楚啊!!!!
[/Quote]
你真厉害,这个破任务愁死我了 应该是解决了 谢谢啊
keaixiaozhu7688 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 zhao88148201 的回复:]
晕倒 你的问题都没问清楚好不好?



你把recbean rec=new recbean ();
放到for循环里去就可以了
[/Quote]
+111111111111111111111111111111
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 zhao88148201 的回复:]
拜托你以后把问题问清楚啊!!!!
[/Quote]
好像是这么回事 我试试啊 我刚接触没多长时间 这些问题 我实在不知道怎么表达清楚 可能是我的问题 我看看去
zhao88148201 2011-08-24
  • 打赏
  • 举报
回复
拜托你以后把问题问清楚啊!!!!
zhao88148201 2011-08-24
  • 打赏
  • 举报
回复
晕倒 你的问题都没问清楚好不好?



你把recbean rec=new recbean ();
放到for循环里去就可以了
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 zhao88148201 的回复:]
recbean rec=new recbean ();
你构造了一个recbean 对象之后 开辟了一块内存
所以你添加的其实是同一块内存里的recbean


就是说你后面的内容把前面的内容覆盖了
你的问题是不是输出的都是同样的内容??
[/Quote]

那怎么解决
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 zhao88148201 的回复:]
recbean rec=new recbean ();
你构造了一个recbean 对象之后 开辟了一块内存
所以你添加的其实是同一块内存里的recbean


就是说你后面的内容把前面的内容覆盖了
你的问题是不是输出的都是同样的内容??
[/Quote]
对啊 37行都一样的内同 终于有个明白我想说什么的了 感动啊
zhao88148201 2011-08-24
  • 打赏
  • 举报
回复
recbean rec=new recbean ();
你构造了一个recbean 对象之后 开辟了一块内存
所以你添加的其实是同一块内存里的recbean


就是说你后面的内容把前面的内容覆盖了
你的问题是不是输出的都是同样的内容??
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
List<Object[]> rwlist = null;
String hsql = "select kind,gzh,rwh,gzkind from rwfpb where planmark = '0'";
List lst = new ArrayList();
rwlist = service.getListall(hsql);
recbean rec=new recbean ();

for(Object[] objs :rwlist){

rec.setRw_kind((String) objs[0]);
rec.setRw_gzh((String) objs[1]);
rec.setRw_rwh((String) objs[2]);

lst.add(rec);

}
这么短的代码 就是这里的问题了 我跟踪了 LST里面是37行 这是没问题的,每行都是一个recbean
里面任务号都不一样啊
瑞恩_张 2011-08-24
  • 打赏
  • 举报
回复
试过jstl标签么?
zhao88148201 2011-08-24
  • 打赏
  • 举报
回复
我觉得你还是单步执行 一步一步的自己调试比较好
o(︶︿︶)o 唉 帮你顶一下
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 keaixiaozhu7688 的回复:]
那你就别在action写这些代码、你的查询不是返回一个List吗?你把这个list放在request传到JSP、然后再jsp上用标签迭代出来。。。。以前同事也有像你这么写的。但是那样我个人感觉层次不清晰、不规范
[/Quote]

我ACTION最后的
是 RETURN NULL;的 不FORWARD任何页的
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 keaixiaozhu7688 的回复:]
那你就别在action写这些代码、你的查询不是返回一个List吗?你把这个list放在request传到JSP、然后再jsp上用标签迭代出来。。。。以前同事也有像你这么写的。但是那样我个人感觉层次不清晰、不规范
[/Quote]
我用AJAX弹出一个窗口的 不能把这个list放在request传到JSP
keaixiaozhu7688 2011-08-24
  • 打赏
  • 举报
回复
那你就别在action写这些代码、你的查询不是返回一个List吗?你把这个list放在request传到JSP、然后再jsp上用标签迭代出来。。。。以前同事也有像你这么写的。但是那样我个人感觉层次不清晰、不规范
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
其实真的没什么错误 我给你发个简化版的

SSH框架啊 根本没什么错误第一次
List<Object[]> rwlist = null;
String hsql = "select kind,gzh,rwh,gzkind from rwfpb where planmark = '0'";
List lst = new ArrayList();
rwlist = service.getListall(hsql);
recbean rec=new recbean ();

for(Object[] objs :rwlist){

rec.setRw_kind((String) objs[0]);
rec.setRw_gzh((String) objs[1]);
rec.setRw_rwh((String) objs[2]);

lst.add(rec);

}
这是一个简化版 ,大体意思就是我自己写了个BEAN 然后先把得到的值SET进去 然后lst.add(rec);
科室传递到JSP里面的话 就任务号都一样了,事实上市部一样的
底层最开始方法是这个

public List getListall(String hsql) {


Query queryObject = getSession().createSQLQuery(hsql);
List<Object[]> list = queryObject.list();



return list;
zhao88148201 2011-08-24
  • 打赏
  • 举报
回复
看你的代码感觉都没什么问题啊
要不你单步执行一下
看在哪一行出的错啊 再讨论下
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
SSH框架啊 根本没什么错误第一次
List<Object[]> rwlist = null;
String hsql = "select kind,gzh,rwh,gzkind from rwfpb where planmark = '0'";
List lst = new ArrayList();
rwlist = service.getListall(hsql);
recbean rec=new recbean ();

for(Object[] objs :rwlist){

rec.setRw_kind((String) objs[0]);
rec.setRw_gzh((String) objs[1]);
rec.setRw_rwh((String) objs[2]);

lst.add(rec);

}
这是一个简化版 ,大体意思就是我自己写了个BEAN 然后先把得到的值SET进去 然后lst.add(rec);
科室传递到JSP里面的话 就任务号都一样了,事实上市部一样的
lvze521lvze 2011-08-24
  • 打赏
  • 举报
回复
SSH框架
加载更多回复(11)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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