谁知道为什么<logic:iterator>标签为什么只循环输出表中的最后一条记录jsp中为:
<logic:iterate id="manager" name="list" >
<bean:write name="manager" property="id"/>
<bean:write name="manager" property="account"/>
<bean:write name="manager" property="password"/>
<bean:write name="manager" property="level"/>
</logic:iterate> action中为:
ManagerForm managerForm = (ManagerForm) form;// TODO Auto-generated method stub
String sqlstr="select * from manager where account='"+managerForm.getAccount()+"' and password='"+managerForm.getPassword()+"'";
System.out.println(sqlstr);
int id=-1;
DBConn conn=new DBConn();
ResultSet rs = conn.executeQuery(sqlstr);
try {
rs.next();
id=rs.getInt("id");
} catch (Exception e) {
// TODO: handle exception
}
if(id!=-1){
HttpSession session=request.getSession();
session.setAttribute("userid", id);
System.out.println("ture");
return mapping.findForward("succ");
}
else{
System.out.print("false");
return mapping.findForward("err");
}
数据库中的记录为1001 zhen 123 1
1001 wang 123 2
1001 li 123 2
1004 song 123 2输出结果为:1004 song 123 2
1004 song 123 2
1004 song 123 2
1004 song 123 2
<logic:iterate id="manager" name="list" >
<bean:write name="manager" property="id"/>
<bean:write name="manager" property="account"/>
<bean:write name="manager" property="password"/>
<bean:write name="manager" property="level"/>
</logic:iterate> action中为:
ManagerForm managerForm = (ManagerForm) form;// TODO Auto-generated method stub
String sqlstr="select * from manager where account='"+managerForm.getAccount()+"' and password='"+managerForm.getPassword()+"'";
System.out.println(sqlstr);
int id=-1;
DBConn conn=new DBConn();
ResultSet rs = conn.executeQuery(sqlstr);
try {
rs.next();
id=rs.getInt("id");
} catch (Exception e) {
// TODO: handle exception
}
if(id!=-1){
HttpSession session=request.getSession();
session.setAttribute("userid", id);
System.out.println("ture");
return mapping.findForward("succ");
}
else{
System.out.print("false");
return mapping.findForward("err");
}
数据库中的记录为1001 zhen 123 1
1001 wang 123 2
1001 li 123 2
1004 song 123 2输出结果为:1004 song 123 2
1004 song 123 2
1004 song 123 2
1004 song 123 2
list相关代码在哪里
String sql="select * from manager";
ManagerlistForm mlist=(ManagerlistForm)form;
List list=new ArrayList<ManagerlistForm>();
DBConn conn=new DBConn();
ResultSet rs=conn.executeQuery(sql);
try {
while(rs.next()){
mlist.setId(rs.getString("id"));
// System.out.println(rs.getString("id"));
mlist.setAccount(rs.getString("account"));
mlist.setPassword(rs.getString("password"));
mlist.setLevel(rs.getString("managerLevel"));
list.add(mlist);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
request.setAttribute("list", list);
return mapping.findForward("showmanager")
mlist.setId(rs.getString("id"));
// System.out.println(rs.getString("id"));
mlist.setAccount(rs.getString("account"));
mlist.setPassword(rs.getString("password"));
mlist.setLevel(rs.getString("managerLevel"));
list.add(mlist);
}
因为这段始终不停的给同一个mlist赋值,所以只是最后一条
ManagerlistForm mlist=(ManagerlistForm)form;
List list=new ArrayList<ManagerlistForm>();
DBConn conn=new DBConn();
ResultSet rs=conn.executeQuery(sql);
try {
while(rs.next()){
mlist.setId(rs.getString("id"));
// System.out.println(rs.getString("id"));
mlist.setAccount(rs.getString("account"));
mlist.setPassword(rs.getString("password"));
mlist.setLevel(rs.getString("managerLevel"));
list.add(mlist);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
request.setAttribute("list", list);
return mapping.findForward("showmanager");
}
ManagerlistForm mlist=(ManagerlistForm)form;
List list=new ArrayList <ManagerlistForm>();
DBConn conn=new DBConn();
ResultSet rs=conn.executeQuery(sql);
try {
while(rs.next()){
XXX mlist=new XXX(); //因为我不知道类,所以用XXX代替了。
mlist.setId(rs.getString("id"));
// System.out.println(rs.getString("id"));
mlist.setAccount(rs.getString("account"));
mlist.setPassword(rs.getString("password"));
mlist.setLevel(rs.getString("managerLevel"));
list.add(mlist);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
request.setAttribute("list", list);
return mapping.findForward("showmanager");
}
mlist.setId(rs.getString("id"));
// System.out.println(rs.getString("id"));
mlist.setAccount(rs.getString("account"));
mlist.setPassword(rs.getString("password"));
mlist.setLevel(rs.getString("managerLevel"));
}
list.add(mlist); list放到外面
ManagerlistForm mlist=(ManagerlistForm)form;
List list=new ArrayList <ManagerlistForm>();
DBConn conn=new DBConn();
ResultSet rs=conn.executeQuery(sql);
try {
while(rs.next()){
XXX mlist=new XXX(); //因为我不知道类,所以用XXX代替了。
mlist.setId(rs.getString("id"));
// System.out.println(rs.getString("id"));
mlist.setAccount(rs.getString("account"));
mlist.setPassword(rs.getString("password"));
mlist.setLevel(rs.getString("managerLevel"));
list.add(mlist);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
request.setAttribute("list", list);
return mapping.findForward("showmanager");
}刚才看错了!这个才是对的