代码: public String select() throws Exception{
Users users = new Users();
users.setName(name);
UsersDAO dao = new UsersDAO();
List list = dao.findUser(users);
上面的代码,是action部分的查询,这段代码是DB操作(我用的struts2框架)
public List findUser(Users users) {
// 获取一个list对象,来添加所有用户
List list = new ArrayList();
con = DBOpration.openConnection();
try {
String sql = "select s_username, s_name, s_sex, s_collage, s_class, s_departno, s_houseno from stu_users where s_name=?";
pt = con.prepareStatement(sql);
pt.setString(1, users.getName());
rs = pt.executeQuery();
while (rs.next()) {
users.setUsername(rs.getString(1));
users.setName(rs.getString(2));
users.setSex(rs.getString(3));
users.setCollage(rs.getString(4));
users.setClasses(rs.getString(5));
users.setDepartNo(rs.getString(6));
users.setHouseNo(rs.getString(7));
// 把users对象添加到list
list.add(users);现在问题是我用struts的iterator标签循环输出结果,可是却输出了多条一样的最后查询到的users对象,我知道是list的循环问题,可是不知道怎么解决,在线等大侠指导,谢谢了!
Users users = new Users();
users.setName(name);
UsersDAO dao = new UsersDAO();
List list = dao.findUser(users);
上面的代码,是action部分的查询,这段代码是DB操作(我用的struts2框架)
public List findUser(Users users) {
// 获取一个list对象,来添加所有用户
List list = new ArrayList();
con = DBOpration.openConnection();
try {
String sql = "select s_username, s_name, s_sex, s_collage, s_class, s_departno, s_houseno from stu_users where s_name=?";
pt = con.prepareStatement(sql);
pt.setString(1, users.getName());
rs = pt.executeQuery();
while (rs.next()) {
users.setUsername(rs.getString(1));
users.setName(rs.getString(2));
users.setSex(rs.getString(3));
users.setCollage(rs.getString(4));
users.setClasses(rs.getString(5));
users.setDepartNo(rs.getString(6));
users.setHouseNo(rs.getString(7));
// 把users对象添加到list
list.add(users);现在问题是我用struts的iterator标签循环输出结果,可是却输出了多条一样的最后查询到的users对象,我知道是list的循环问题,可是不知道怎么解决,在线等大侠指导,谢谢了!
解决方案 »
- 关于使用OpenSessionInViewFilter遇到的两个问题
- 关于输入日期字符串,返回下一天的字符串。
- 如何学好Java
- 跨数据库数据库交换的技术能用什么??
- JMS的应用场景是什么
- 急~!!关于struts+freemarker的问题??
- 请问一个TOMCAT的问题?
- 运行Jbuilder9时出再"GUI launcher must be named <name>W.exe",无法继续,请问如何解决?
- 讨论一下:EJB 和 J2EE
- 使用Spring Session Redis 共享Session 后如何监听Session的sessionDestroyed事件
- 能不能在内部类中创建外部类的对象?
- 把阿拉伯数字转换成汉字的形式,怎么做捏?
<s:property value="#tempList"/>
</s:iterator>
你的方法输出来的也是一样的~额~。~
<s:property value="list"/></br>
</s:iterator>
刚刚写错了,这个肯就对了的,才实验过
<s:iterator value="lists" begin="0" end="#lists.size" id="list">
<s:property value="#list"/></br>
</s:iterator>
额,这里面的begin和end都无效,
我的jsp中是这样的
<s:iterator value="list" >
<TR>
<TD class=gridViewItem><s:property value="username"/></TD>
<TD class=gridViewItem><s:property value="name"/></TD>
<TD class=gridViewItem><s:property value="sex"/></TD>
<TD class=gridViewItem><s:property value="collage"/></TD>
<TD class=gridViewItem><s:property value="classes"/></TD>
<TD class=gridViewItem><s:property value="departNo"/></TD>
<TD class=gridViewItem><s:property value="houseNo"/></TD>
</TR>
</s:iterator>
输出没问题,但是结果却被覆盖了,是这样:
学号 姓名 性别 学院 班级 公寓 寝号
2008011298 2929 dfdf dfasdf dfdf dfd df
2008011298 2929 dfdf dfasdf dfdf dfd df 这是标签原因么?
<TR>
<TD class=gridViewItem><s:property value="#list.username"/></TD>
<TD class=gridViewItem><s:property value="#list.name"/></TD>
<TD class=gridViewItem><s:property value="#list.sex"/></TD>
<TD class=gridViewItem><s:property value="#list.collage"/></TD>
<TD class=gridViewItem><s:property value="#list.classes"/></TD>
<TD class=gridViewItem><s:property value="#list.departNo"/></TD>
<TD class=gridViewItem><s:property value="#list.houseNo"/></TD>
</TR>
</s:iterator>
已经试过了,结果还是输出两行一样的值,我认为是传参数造成的,因为在最上面的代码中,如果dao.findUsers()中不传入user参数,输出结果就正常显示了,但是我实在想不到为什么传参数就不对了,难道后一个user会覆盖之前的user吗?