public class UserInfo {

String id;
         String name;
         String age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
public class PersonAction extends ActionSupport{
public static List<UserInfo> personlist = new ArrayList<UserInfo>();
UserInfo   userOneInfo = new UserInfo();

public static List<UserInfo> getPersonlist() {
return personlist;
} public static void setPersonlist(List<UserInfo> personlist) {
PersonAction.personlist = personlist;
} public String Add()
{
personlist.add(userOneInfo);
return "list";
}

public String list()throws Exception
{

for(int i = 0; i < 10; i++)
{
UserInfo temp = new UserInfo();
temp.setName("dingding");
temp.setId("1");
temp.setAge("20");
personlist.add(temp);
}

return "list";
}
}
上面的内容通过下面的链接访问:
<li><a href="<struts:url action = "listPerson"/>" target="mainFrame">人员列表</a></li>下面为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>ID</th>
    <th>姓名</th>
    <th>年龄</th>
  </tr>
  <struts:iterator id="userOneInfo" value="personlist">
  <tr>
  <td>${userOneInfo.id}</td>
  <td>${userOneInfo.name}</td>
  <td>${userOneInfo.age}</td>
  </tr>
    </struts:iterator>
</table>上面personlist的内容怎么也显示不出来,总是为空。
请哪位高人帮我调通了上面的代码。谢谢

解决方案 »

  1.   

    personlist 用成员变量,不要用静态变量
      

  2.   

    public static List<UserInfo> personlist = new ArrayList<UserInfo>();
    这个是静态的。应该自动映射不到页面
    可加一个request.setAttri...("personlist", personlist);如果要映射静态属性或方法,必须要在strust.xml中配置
    struts.ognl.allowStaticMethodAccess设置为true 启用静态方法调用。。而静态方式的调用在页面上获取的方式是不一样的。。如:struts.ognl.allowStaticMethodAccess设置为true  如:访问静态方法:@包.类名@方法名(),如:
        @cn.edu.ahau.mgc.struts2.model.Magci@method();
        访问静态属性:@包.类名@属性名,如:
        @cn.edu.ahau.mgc.struts2.model.Magci@NAME调用Action中的静态方法:<s:property value="@struts.action.LoginAction@get()"/>
    调用普通类中的静态属性:<s:property value="@struts.vo.Address@TIPS"/>http://blog.csdn.net/xiaoping8411/article/details/4771214参考
      

  3.   

    不知道你这个链接是调用action的那个方法
    所以无从回答
    如果是调add那肯定是空的
    如果是调用list为空不可能
      

  4.   

    <%@ taglib uri="/struts-tags" prefix="struts" %>这是自己写的标签?还是自带的呢,真高深。。
      

  5.   

    这是导入struts2中自带的标签库