2013-08-29 94 views
0

我知道这个问题以前被问过 - How to iterate an object over a list of objects in JSTL?。我尝试了这些建议,但仍然没有运气。遍历对象列表jstl

POJO

public class VwSfuser implements java.io.Serializable { 
private VwSfuserId id; 
private String name; 
private String userid; 

public VwSfuser() { 
} 

public VwSfuser(VwSfuserId id) { 
    this.id = id; 
} 

public VwSfuserId getId() { 
    return this.id; 
} 

public void setId(VwSfuserId id) { 
    this.id = id; 
} 

public String getName() { 
    return name; 
} 

public void setName(String name) { 
    this.name = name; 
} 

public String getUserid() { 
    return userid; 
} 

public void setUserid(String userid) { 
    this.userid = userid; 
} 
    } 

我传递一个清单jsp和试图访问是这样的: JSTL

<c:forEach items="${model.userNameList}" var="list">   
     <option value="${list.userid}">${list.name}</option> 
     </c:forEach> 

现在,我得到的是:

javax.el。 PropertyNotFoundException:在类型java.lang.String上找不到属性'userid'

+0

显示您将'userNameList'添加到模型的位置的代码。 –

回答

0

你不需要写model.

试试这个:如果你已经添加了userNameList正确的模型

<c:forEach items="${userNameList}" var="list">   
    <option value="${list.userid}">${list.name}</option> 
</c:forEach> 

,这应该工作。

+0

FYI模型是一个散列图,我使用这样的:\t model.put(“userNameList”,“VwSfuserNameList_all”);因此,我将不得不使用model.userNameList – user1736333

+0

@ user1736333对不起,我只是假设你正在使用Spring-MVC和它的方法。看起来像你在这里做了一些你自己的东西。从您将其添加到模型的位置显示更多代码。特别是你的'VwSfuserNameList_all'变量的声明,如果有这样一个变量。 –

+0

oh man ..。为了麻烦..我做了这个model.put(“userNameList”,“VwSfuserNameList_all”);而不是model.put(“userNameList”,VwSfuserNameList_all); .. – user1736333