2013-08-29 121 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