JSP编程向前台传输参数遇到的问题
假如在后台需要向JSP界面传送一个List
在java文件中这么写
List<user> albums = new ArrayList<user>();
..
albums.add(user);
..
request.setAttribute("albums",albums);
在JSP文件中遍历传送过来的链表
<c:forEach items="${albums}" var="album">
<tr>
<td>${album.albumname}</td>
<td>${album.disc}</td>
<td>${album.date}</td>
<td>${album.name}</td>
</tr>
</c:forEach>
但是运行会发生莫名其妙的错误:
org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: Property 'albumname' not readable on type webAlbum.user
返回user.java查看,albumname变量确实已经定义,但是也会产生这种错误。。。
经过漫长的探索才发现原来必须得在user.java文件中定义get...函数才可以在jsp文件中使用对应的变量
如对于上面例子,就必须得定义四个返回函数:
public string getalbumname()
{
return albumname;
}
public string getdisc()
{
return disc;
}
public string getdate()
{
return date;
}
public string getname()
{
return name;
}
至此jsp页面就可以正常显示链表中的内容了。问题解决