如何查看数据库上的所有用户 - JDBC Struts

时间:2015-12-01 19:27:26

标签: java jsp jdbc struts2

在我的数据库表中,我有6行用户。

我想显示数据库中的所有用户。

当我运行我的代码时,我得到第6行的值6次。

爪哇

public String allMembers() throws SQLException {
List<String> members = new ArrayList<String>();
    try{ 
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/Web", "root", "root");
        Statement statement = connection.createStatement();
         ResultSet res = statement.executeQuery("select * from Users");
        while (res.next()){
            setUserName(res.getString("userName"));
            userName = userName.trim();
            members.add(userName);
        }
        connection.close();
    }catch (SQLException e) {
        e.printStackTrace();
    }
    return "SUCCESS";
}

JSP

 <td>
     <b>Example of Iterator Tag</b><br/>
     <s:iterator value="members" status="ctr">
     <s:property value="userName"/> 
      </s:iterator>
      <br/><br/>
    </td>

如何解决这个问题并让它显示所有用户。

字符串userName

private String userName;
public String getUserName() {
    return userName;
}

public void setUserName(String userName) {
    this.userName = userName;
}

2 个答案:

答案 0 :(得分:1)

在您的操作类中

List<String> members = new ArrayList<String>();

public List<String> getMembers() {
        return members;
    }

    public void setMembers(List<String> members) {
        this.members = members;
    }

在你的jsp中

<s:iterator value="members" status="memberStatus">
  <tr> 
      <td><s:property/></td>

  </tr>
</s:iterator>

答案 1 :(得分:0)

你做

setUserName(res.getString("userName"));

哪些事情未知。但接着你继续......

        userName = userName.trim();
        members.add(userName);

userName来自哪里?它设置在哪里?