在我的数据库表中,我有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;
}
答案 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来自哪里?它设置在哪里?