2012-09-18 42 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>部分。