在service中的方法:public List<Manager> list(){
Connection conn = DB.getConn();
String sql = "select * from manager";
List<Manager> managers = new ArrayList<Manager>();
ResultSet rs = null;
try {
rs = DB.getResult(conn, sql);
Manager manager = null;
while(rs.next()){
manager = new Manager();
manager.setManagerId(rs.getInt("managerid"));
manager.setNikeName(rs.getString("nikename"));
manager.setManagerName(rs.getString("managername"));
manager.setSex(rs.getString("sex"));
manager.setAddress(rs.getString("address"));
manager.setEmail(rs.getString("email"));
manager.setManagerId(rs.getInt("managerId"));
managers.add(manager);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DB.close(rs);
DB.close(conn);
}
return managers;
}在jsp页面中:
<s:iterator value="managers" var="m" status="status">
<tr>
<td><s:property value="#m.managerid" /></td>
<td><s:property value="#m.nikename" /></td>
<td><s:property value="#m.managername" /></td>
<td><s:property value="#m.sex"/></td>
<td><s:property value="#m.address"/></td>
<td><s:property value="#m.email"/></td>
<td width="6%" align="center" ><a href="manager/Manager-updateInput">update</a></td>
<td width="6%" align="center" ><a href="manager/Manager-delete">delete</a></td>
</tr>
</s:iterator>但是在启动服务后,只能迭代出manager表中的后几位的值:sex,adress,email.前面的几个值:managerid,nikename,managername都显示不出来。请高手给看看。初学struts,请多多包涵。
Connection conn = DB.getConn();
String sql = "select * from manager";
List<Manager> managers = new ArrayList<Manager>();
ResultSet rs = null;
try {
rs = DB.getResult(conn, sql);
Manager manager = null;
while(rs.next()){
manager = new Manager();
manager.setManagerId(rs.getInt("managerid"));
manager.setNikeName(rs.getString("nikename"));
manager.setManagerName(rs.getString("managername"));
manager.setSex(rs.getString("sex"));
manager.setAddress(rs.getString("address"));
manager.setEmail(rs.getString("email"));
manager.setManagerId(rs.getInt("managerId"));
managers.add(manager);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DB.close(rs);
DB.close(conn);
}
return managers;
}在jsp页面中:
<s:iterator value="managers" var="m" status="status">
<tr>
<td><s:property value="#m.managerid" /></td>
<td><s:property value="#m.nikename" /></td>
<td><s:property value="#m.managername" /></td>
<td><s:property value="#m.sex"/></td>
<td><s:property value="#m.address"/></td>
<td><s:property value="#m.email"/></td>
<td width="6%" align="center" ><a href="manager/Manager-updateInput">update</a></td>
<td width="6%" align="center" ><a href="manager/Manager-delete">delete</a></td>
</tr>
</s:iterator>但是在启动服务后,只能迭代出manager表中的后几位的值:sex,adress,email.前面的几个值:managerid,nikename,managername都显示不出来。请高手给看看。初学struts,请多多包涵。
<tr>
<td><s:property value="managerid" /></td>
<td><s:property value="nikename" /></td>
<td><s:property value="managername" /></td>
<td><s:property value="sex"/></td>
<td><s:property value="address"/></td>
<td><s:property value="email"/></td>
...
</tr>
</s:iterator>这样写试试看
你程序里设了两次managerId,而java的ResultSet是取一次之后,再去取就是空值,其它的两个字段就不知道什么原因了
<td><s:property value="#m.managerid" /></td>
<td><s:property value="#m.nikename" /></td>
<td><s:property value="#m.managername" /></td>你拼写错了,注意大小写
managerId,nikeName,managerName
//......
//......
manager.setManagerId(rs.getInt("managerId"));
这个你写了两次,还有rs.get("XXX");XXX要和数据库中字段名字保持一致,注意下大小写或者你在rs的时候,debug看看结果集
<td><s:property value="#m.managerid" /></td>
<td><s:property value="#m.nikename" /></td>
<td><s:property value="#m.managername" /></td>改为 <td><s:property value="#m.managerId" /></td>
<td><s:property value="#m.nikeName" /></td>
<td><s:property value="#m.managerName" /></td>
不是修正一下应该是与类Manager 中的属性名一样