高手请进,为什么有get、set方法,不能正确显示那?
public class PersonAction extends ActionSupport{
public List<UserInfo> getPersonlist() {
return personlist;
}
public void setPersonlist(List<UserInfo> personlist) {
this.personlist = personlist;
}
public List<UserInfo> personlist = new ArrayList<UserInfo>();
UserInfo userOneInfo = new UserInfo();
public UserInfo getUserOneInfo() {
return userOneInfo;
}
public void setUserOneInfo(UserInfo userOneInfo) {
this.userOneInfo = userOneInfo;
}
public String add() throws Exception
{
ResultSet rs = null;
String sql3 = "insert into tb_user(name,age,sex)values('"+userOneInfo.getName()+"','"+userOneInfo.getAge()+"','"+userOneInfo.getMale()+"');";
Connection conn= null;
Statement stmt = null;
//这一段省略,就是往数据库里面增加一条记录,可能添加成功
return list();
}
public String list()throws Exception
{
连接数据库部分省略
rs= (ResultSet) stmt.executeQuery("select * from tb_user");
while(rs.next())
{
UserInfo temp = new UserInfo();
int intTemp = rs.getInt("id");
String tempStr="";
tempStr +=intTemp;
temp.setId(tempStr);
temp.setName(rs.getString("name"));
//其他的字段省略了
这个地方没有问题。
personlist.add(temp);
}
return "list";
}
}
listPerson.jsp 代码如下:
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*"
errorPage="" %>
<%@ taglib uri="/struts-tags" prefix="struts" %>
<title><struts:property value="titile" escape="false" /></title>
<a href="addPerson.jsp">新建人员资料</a>
<table>
<tr>
<th></th>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
</tr>
<struts:iterator id="userOneInfo" value="personlist">
<td><input type="checkbox" name="id" value="+${userOneInfo.id}+"></td>
<td>${userOneInfo.id}</td>
<td>${userOneInfo.name}</td>
<td>${userOneInfo.age}</td>
</tr>
</struts:iterator>
</table>
问题是:list界面只显示了一列checkbox,id,name,age都为空。
但是如果把下面代码去掉,也就是userOneInfo的get、set方法去掉,就可以从数据库中查询出内容,正常显示。
public UserInfo getUserOneInfo() {
return userOneInfo;
}
public void setUserOneInfo(UserInfo userOneInfo) {
this.userOneInfo = userOneInfo;
}
哪位高手给指点一下为什么?
userOneInfo的get、set方法必须保留,否则不能从addperson界面获取age,name信息。
------解决方案--------------------
<struts:iterator id="userOneInfo" value="personlist">
id 换成其他名字试下