在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,请多多包涵。

解决方案 »

  1.   

    <s:iterator value="managers">
      <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>这样写试试看
      

  2.   

    看了下你的代码,你把JSP页面中#m.managerid改成#m.managerId,同理,#m.nikename改成#m.nikeName,m.managername改成m.managerName试试
      

  3.   

    manager.setManagerId(rs.getInt("managerId"));
    你程序里设了两次managerId,而java的ResultSet是取一次之后,再去取就是空值,其它的两个字段就不知道什么原因了
      

  4.   


    <td><s:property value="#m.managerid" /></td>
      <td><s:property value="#m.nikename" /></td>
      <td><s:property value="#m.managername" /></td>你拼写错了,注意大小写
    managerId,nikeName,managerName
      

  5.   

    manager.setManagerId(rs.getInt("managerid"));
    //......
    //......
    manager.setManagerId(rs.getInt("managerId"));
    这个你写了两次,还有rs.get("XXX");XXX要和数据库中字段名字保持一致,注意下大小写或者你在rs的时候,debug看看结果集
      

  6.   


      <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>
      

  7.   

    谢谢大家啊,问题解决了,不是这里的问题,可能与model有关系,是不是model里面的属性必须和数据库中的属性名一样样的?大小写也要一样吗?我用的是mysql数据库。再次谢谢大家
      

  8.   


    不是修正一下应该是与类Manager 中的属性名一样