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页面就可以正常显示链表中的内容了。问题解决

原文地址:https://www.cnblogs.com/wzsblogs/p/4155164.html