
struts2,s:iterator遍历的问题
NbrUsed的model中将类Level做成员变量在遍历NbrUsed的时候怎么遍历到Level的变量net呢list代码:while(rs.next()){nbrUs...
NbrUsed的model中将类Level做成员变量
在遍历NbrUsed的时候怎么遍历到Level的变量net呢
list代码:
while(rs.next()) {
nbrUsed = new NbrUsed();
nbrUsed.setRegion(rs.getString(1));
nbrUsed.setNbr(rs.getString(2));
level.setNet(rs.getString(3));
nbrUsed.setLevel(level);
}
遍历代码:
<s:iterator value="nbrUseds" var = "nbrUsed">
<tr>
<td>
<s:property value="#nbrUsed.region"/>
</td>
<td>
<s:property value="#nbrUsed.nbr"/>
</td>
<td>
<s:property value="#nbrUsed.level.net"/>
</td>
</tr>
这样出来的net都一样 展开
在遍历NbrUsed的时候怎么遍历到Level的变量net呢
list代码:
while(rs.next()) {
nbrUsed = new NbrUsed();
nbrUsed.setRegion(rs.getString(1));
nbrUsed.setNbr(rs.getString(2));
level.setNet(rs.getString(3));
nbrUsed.setLevel(level);
}
遍历代码:
<s:iterator value="nbrUseds" var = "nbrUsed">
<tr>
<td>
<s:property value="#nbrUsed.region"/>
</td>
<td>
<s:property value="#nbrUsed.nbr"/>
</td>
<td>
<s:property value="#nbrUsed.level.net"/>
</td>
</tr>
这样出来的net都一样 展开
3个回答
展开全部
你好楼主,看了你和楼上几位同学的讨论,我觉得你有可能是这个问题:
level.setNet(rs.getString(3));//这里我发现你并没有声明level,说明level是在外边声明的
这样子你每个nbrUsed里边都持有一个相同的level引用,
每一次循环你都改变了level中net的值,其实你是改变了所有nbrUserd中level的net的值,
所以你的页面显示的NET是你最后一次设置的net值,
你可能没注意mcyusxli给你的代码和你的有一个不同的地方
那就是循环里他有一句Level lvl=new Level();
这样每个nbrUsed都持有自己的Level引用,就不会因为后边设值而影响到前边了
希望对你有用^_^.
展开全部
<s:iterator value="nbrUseds" var = "nbrUsed">
nbrUseds是存放nbrUsed的list吗
nbrUseds是存放nbrUsed的list吗
追问
是的呀。遍历出来的net都是数据表最后一行的net值。不知道为啥?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
nbrUsed.setLevel(level);你设的值是一样的喽。你跟踪一下,应该是你设置的level值是一样的,所以显示一样嘛
更多追问追答
追问
不一样呀,list方法遍历的就是表里面的值,表里面net的值是不一样的呀,而且list方法里用System.out.println(nbrUsed.getLevel().getNet());打印出来也正常,就是最后显示的时候全部是一样的值
追答
你是不是
List nbrUseds=new ArrayList();
while(rs.next()) {
nbrUsed = new NbrUsed();
nbrUsed.setRegion(rs.getString(1));
nbrUsed.setNbr(rs.getString(2));
level.setNet(rs.getString(3));
nbrUsed.setLevel(level);
nbrUseds.add(nbrUsed);
}
request.setAttribute("nbrUseds",nbrUsed);
jsp 中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询