解决方案 »

  1.   

    1.<s:iterator list='listPerson'>写错了,应该是<s:iterator value='listPerson'>。你Action的两个变量没有访问修饰符,访问不到。2.<s:iterator value='listPerson'>会在值栈中(当前的Action)找名为listPerson的集合然后遍历。3.你写在<s:iterator/>标签里的<s:property value="name">,struts会在你循环的每一个对象中找name属性,如果有,则取值显示。总结:<s:property value="name">你写在<s:iterator/>标签内,也就是说<s:property value="name">是基于循环对象的,二者不存在比较的逻辑,是从属的关系,先有的你迭代的集合,然后再迭代的同时才看每一个对象有没有name这个属性,有则输出,无则不显示,仅此而已。概念混乱,复习基础。