刚注册的来凑热闹 你的LIST返回的是logger对象的集合 应该没有问题
在JSP页面调用javabean船植的代码帖出来 看看有没错误
在JSP页面调用javabean船植的代码帖出来 看看有没错误
解决方案 »
- 在线求一个解决办法!
- 求一自动排考系统的设计,如果有需求文档和数据库文档,求一起带上。只做学习参考
- hibernate原生sql语句的疑惑
- 关于循环利用JS的问题
- 本人在最近用Hibernate的CallBack接口时发现问题
- 这个异常,太怪了,求求大家帮我解决阿
- 如何才能获得所谓的工作经验
- Hibernate一对多关系中,多的一方如何分页?
- 各位大戏!请教一个Ant的配置问题!!
- 江湖救急啊啊啊ognl.OgnlException: target is null for setProperty(null, "taskStatus"
- 不需要面试 直接让入职 可靠吗
- 用java如何实现网络文件传输??????????
<table id="tbl" width="100%" align="center" border="1" cellspacing="0" cellpadding="0">
<tr bgcolor="#E6EFFF">
<td height="25"><div align="center"><strong><span class="STYLE4">日志</span></strong></td>
<td height="25"><div align="center"><strong><span class="STYLE4">项目</span></strong></div></td>
<td height="25"><div align="center"><strong><span class="STYLE4"> 任务描述</span></strong></div></td>
<td height="25"><div align="center"><strong><span class="STYLE4">开始时间</span></strong></div></td>
<td height="25"><div align="center"><strong><span class="STYLE4">结束时间</span></strong></div></td>
<td height="25"><div align="center"><strong><span class="STYLE4">间隔时间</span></strong></div></td>
<td height="25"><div align="center"><strong><span class="STYLE4">任务完成比例</span></strong></div></td>
</tr>
<%
List loglist1=(ArrayList)request.getAttribute("loglist1");
if(loglist1!=null&& loglist1.size()>0){
System.out.println("size="+loglist1.toString());
for(int i=0;i<loglist1.size();i++){
Logger logger = (Logger) loglist1.get(i);
int logId = logger.getLogid();
int proId = logger.getProid();
int taskName = logger.getTaskName();
String startTime = logger.getStartTime();
String endTime = logger.getEndTime();
int interruptTime = logger.getInterruptTime();
float rate = logger.getRate();
System.out.println("logger="+logger.getLogid());
%>
<tr>
<td height="23" class="STYLE4"><div align="center"> <%=logId %></div></td>
<td height="23" class="STYLE4"><div align="center"> <%=proId %></div></td>
<td height="23" class="STYLE4"><div align="center"> <%=taskName %></div></td>
<td height="23" class="STYLE4"><div align="center"> <%=startTime %></div></td>
<td height="23" class="STYLE4"><div align="center"> <%=endTime %></div></td>
<td height="23" class="STYLE4"><div align="center"> <%=interruptTime %></div></td>
<td height="23" class="STYLE4"><div align="center"> <%=rate %></div></td>
</tr>
<%
}
}
%>
List loglist=null;
Logger logger=new Logger();
ResultSet rs=null;
DBManager dbm=new DBManager();
String sql2="select A.LOGID,B.PROID,A.TASKNAME,A.STARTTIME,A.ENDTIME,A.INTERRUPTTIME,A.RATE FROM TASKLOG A,WORKLOG B WHERE A.LOGID=B.LOGID AND B.USERID='"+userid + "'";
System.out.println("userid="+userid);
try{
rs=dbm.executeQuery(sql2)
while(rs.next()){
loglist = new ArrayList();
logger.setLogid(rs.getInt("LOGID"));
logger.setProid(rs.getInt("PROID"));
logger.setTaskName(rs.getInt("TASKNAME"));
logger.setStartTime(rs.getString("STARTTIME"));
logger.setEndTime(rs.getString("ENDTIME"));
logger.setInterruptTime(rs.getInt("INTERRUPTTIME"));
logger.setRate(rs.getFloat("RATE"));
loglist.add(logger);
}
}catch (SQLException ex)
{
ex.printStackTrace();
}finally{
try{
if(rs!=null)
rs.close();
if(dbm!=null)
dbm.close();
}catch(SQLException e){
e.printStackTrace();
}
}
return loglist;
}}
其他的地方我实在看不出有什么问题..
建议LZ把SQL语句打出来看一下...
楼上正解..用hibernate就好了
没有问题的
我也不知道是哪的问题
loglist = new ArrayList();}
每取一条记录都new 一次?
new 一次不就行了
虽然我不知道是不是这个问题
request.setAttribute("loglist1",queryLog(String userid));应该在request范围内取得的都是一个值可为什么会错呢。
LZ所写的程序,list里放的全是同一个对象!
我晕了
之前你得到的都是同一个对象是因为list集合里放的对象的内存地址都是同一个,即同一个对象!
循环里面 应该先Logger logger=new Logger();
然后设置属性
userid=22
rs=org.apache.commons.dbcp.DelegatingResultSet@10a0d51
rs.getInt(1)=31
rs.getInt(2)=0
rs.getInt(3)=1
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=1
rs.getFloat(7)=1.0
rs.getInt(1)=32
rs.getInt(2)=0
rs.getInt(3)=2
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=2
rs.getFloat(7)=2.0
rs.getInt(1)=34
rs.getInt(2)=0
rs.getInt(3)=2
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=2
rs.getFloat(7)=2.0
rs.getInt(1)=35
rs.getInt(2)=0
rs.getInt(3)=1
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=1
rs.getFloat(7)=1.0
rs.getInt(1)=36
rs.getInt(2)=0
rs.getInt(3)=7
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=7
rs.getFloat(7)=7.0
rs.getInt(1)=37
rs.getInt(2)=0
rs.getInt(3)=1
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=1
rs.getFloat(7)=1.0
rs.getInt(1)=38
rs.getInt(2)=0
rs.getInt(3)=2
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=2
rs.getFloat(7)=2.0
rs.getInt(1)=40
rs.getInt(2)=0
rs.getInt(3)=666
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=666
rs.getFloat(7)=666.0
rs.getInt(1)=41
rs.getInt(2)=0
rs.getInt(3)=1
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=1
rs.getFloat(7)=1.0
rs.getInt(1)=42
rs.getInt(2)=0
rs.getInt(3)=1
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=1
rs.getFloat(7)=1.0
rs.getInt(1)=43
rs.getInt(2)=0
rs.getInt(3)=3333333
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=3
rs.getFloat(7)=3.0
rs.getInt(1)=45
rs.getInt(2)=0
rs.getInt(3)=11
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=11
rs.getFloat(7)=1.0
rs.getInt(1)=51
rs.getInt(2)=0
rs.getInt(3)=32
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=32
rs.getFloat(7)=32.0
rs.getInt(1)=53
rs.getInt(2)=0
rs.getInt(3)=343
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=343
rs.getFloat(7)=343.0
rs.getInt(1)=54
rs.getInt(2)=0
rs.getInt(3)=34
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=3
rs.getFloat(7)=4.0
rs.getInt(1)=55
rs.getInt(2)=0
rs.getInt(3)=23
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=23
rs.getFloat(7)=23.0
rs.getInt(1)=57
rs.getInt(2)=0
rs.getInt(3)=4
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=4
rs.getFloat(7)=4.0
rs.getInt(1)=58
rs.getInt(2)=0
rs.getInt(3)=23
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=23
rs.getFloat(7)=23.0
rs.getInt(1)=33
rs.getInt(2)=0
rs.getInt(3)=3
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=3
rs.getFloat(7)=3.0
rs.getInt(1)=39
rs.getInt(2)=0
rs.getInt(3)=666
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=666
rs.getFloat(7)=666.0
rs.getInt(1)=44
rs.getInt(2)=0
rs.getInt(3)=21
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=21
rs.getFloat(7)=21.0
rs.getInt(1)=46
rs.getInt(2)=0
rs.getInt(3)=11
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=11
rs.getFloat(7)=11.0
rs.getInt(1)=47
rs.getInt(2)=0
rs.getInt(3)=3333
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=3
rs.getFloat(7)=3.0
rs.getInt(1)=48
rs.getInt(2)=0
rs.getInt(3)=5
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=5
rs.getFloat(7)=5.0
rs.getInt(1)=49
rs.getInt(2)=0
rs.getInt(3)=2323
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=23
rs.getFloat(7)=23.0
rs.getInt(1)=50
rs.getInt(2)=0
rs.getInt(3)=34
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=34
rs.getFloat(7)=34.0
rs.getInt(1)=52
rs.getInt(2)=0
rs.getInt(3)=66
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=66
rs.getFloat(7)=66.0
rs.getInt(1)=56
rs.getInt(2)=0
rs.getInt(3)=23
rs.getString(4)=9:00
rs.getString(5)=17:30
rs.getInt(6)=23
rs.getFloat(7)=23.0
List loglist1=(ArrayList)request.getAttribut("loglist1");
loglist1.toString()=[com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4, com.hiaward.prms.entity.Logger@4a2dd4]
我觉得不是
应该是rs.next的问题
然后设置属性
3270说的对 要在链表中加入一条记录要先实力化一个对象刚没看到 改了试试看
确实是没有加Logger logger=new Logger();的原因
List loglist=new ArrayList();ResultSet rs=null;
DBManager dbm=new DBManager();
StringBuffer sql2=new StringBuffer("select A.LOGID,B.PROID,A.TASKNAME,A.STARTTIME,A.ENDTIME,A.INTERRUPTTIME,A.RATE FROM TASKLOG A,WORKLOG B WHERE A.LOGID=B.LOGID AND B.USERID=").append(userid);//换成下面的StringBuffer sql2=new StringBuffer("select A.LOGID,B.PROID,A.TASKNAME,A.STARTTIME,A.ENDTIME,A.INTERRUPTTIME,A.RATE FROM TASKLOG A,WORKLOG B WHERE A.LOGID=B.LOGID AND B.USERID='").append(userid).append("'");System.out.println("userid="+userid);
try{
rs=dbm.executeQuery(sql2.toString());
System.out.println("rs="+rs);
while(rs.next()){
Logger logger=new Logger();//放到这里来logger.setLogid(rs.getInt(1));System.out.println("rs.getInt(1)="+rs.getInt(1));
logger.setProid(rs.getInt(2));System.out.println("rs.getInt(2)="+rs.getInt(2));
logger.setTaskName(rs.getInt(3));System.out.println("rs.getInt(3)="+rs.getInt(3));
logger.setStartTime(rs.getString(4));System.out.println("rs.getString(4)="+rs.getString(4));
logger.setEndTime(rs.getString(5));System.out.println("rs.getString(5)="+rs.getString(5));
logger.setInterruptTime(rs.getInt(6));System.out.println("rs.getInt(6)="+rs.getInt(6));
logger.setRate(rs.getFloat(7));System.out.println("rs.getFloat(7)="+rs.getFloat(7));
loglist.add(logger);
}
}catch (SQLException ex)
{
ex.printStackTrace();
}finally{
try{
if(rs!=null)
rs.close();
if(dbm!=null)
dbm.close();
}catch(SQLException e){
e.printStackTrace();
}
}
return loglist;
}}
不要用stringbuffer,特别是的userid
Logger logger=new Logger();
放到 while 循环里
while(rs.next()){
Logger logger=new Logger();
logger.setLogid(rs.getInt(1));System.out.println("rs.getInt(1)="+rs.getInt(1));
……
……
loglist.add(logger);
}
意思是 如果 rs.next() 还有值 那么在创建一个对象 设置 放入集合里
在外面 new 那每次装的对象是相同的 因为你只创建了一个对象 while 循环里只是对他覆盖问题2: 每次追加
每次追加 可能是 你向session 里方 list 集合时 这个集合没有清空 楼主检查一下向session设置那快(因为没有发现 向session 赋值的代码所以 我不能确定 只是 平经验推断)