2012-09-18 51 views
0

嗨我正在使用以下代碼來檢索列表的值,但它不顯示任何內容。 我的類代碼:顯示列表中的成員

private List MyList; 
    public List getMyList() { 
      System.out.println("MyList:"+MyList.get(0).toString()); 
      return MyList; 
    } 

    public void setMyList(List MyList) { 
      this.MyList = MyList; 
    } 

我的jsp:

<c:forEach var="item" items="${MyList}"> 
    <div>${item}</div> 
</c:forEach> 

結果在控制檯:MYLIST:游泳

,但沒有結果在瀏覽器中!!!!

+3

在Java中有所有變量都以小寫字符開頭的約定。 – Iman

+1

你在請求屬性中設置列表嗎? – amicngh

回答

0

由於JSTL表達式將通過getter/setter方法的命名規則進行評估,你必須使用你的JSP中的以下內容:

<c:forEach var="item" items="${myList}"> 
    <div>${item}</div> 
</c:forEach> 

${myList}將evalutated到getMyList()

+0

我用它但它不工作,頁面的源代碼顯示

+1

也許你忘了導入jstl核心taglib:<%@ taglib prefix =「c」uri =「http://java.sun.com/jsp/jstl/core」%> –

+0

感謝o-richie-nal它解決了這個問題,我不知道要如何接受你的答案你的評論旁邊沒有打勾。 –

0

嘗試類似(如果語法不對請指正):

<c:forEach var="item" items="${myList}"> 
    <div>${item.toString()}</div> 
</c:forEach> 

,並確保您的項目可以與toString()方法了Methode來表示。在你的情況下,getList Methode在Foreach循環中被調用一次,但是它的前一個並且不包含<div>部分。