刚学用ssh框架不久,对照视频教程上做练习的小例子,怎么也不能在页面上显示数据表的信息.困扰我好几天了,希望高手帮下忙,表名 PERSON 对应实体类是 Person其他如get set方法 映射对应字段等没问题,因为用add方法添加数据是可以正常向数据库表中添加数据,问题在于显示.我在dao层的 PersonDaoHibernate中定义了方法
public List getPersons() {

return getHibernateTemplate().find("from Person");
}service 层 PersonManagerImpl中调用 public List listPerson() {

return personDao.getPersons();
}最后再action层 PersonAction中使用 
public String list() {
personManager.listPerson();
return SUCCESS;
}
最后在list.jsp页面中 
<s:iterator value="persons">
<table>
<tr>
<td>ID</td>
<td><s:property value="id" /></td>
</tr>
.
用这样的方式循环输出显示,但并不成功.
我想应该是 List型的对象persons并没有层层传递过来,但因为我本身接触java不久,对这些概念有些模糊,请高手指点一下,万分感谢~

解决方案 »

  1.   

    可以在控制台打印下list!!或者能够输出就在别的地方打印!!看在哪里打印不出来就大概知道哪出问题了!!页面上可以使用<s:debug>查看页面上传来没有!!就这么随手看了下你的代码iterator没结束!!!
      

  2.   

    在你的action中定义一个名字叫persons的List<Person>对象。List<Person> persons; // set/get略去public String list() {
        persons = personManager.listPerson(); // 这个时候,action才向叶面传递了你的查询结果
        return SUCCESS;
    }