我有一个 JSP,我试图在其中使用 JSTL 标记来显示来自类的内存实例的数据。数据由一系列字符串组成,其中每个字符串都是 RSS 提要的地址。
在 JSP 中,我有以下代码:
<table border = "1">
<tr>
<c:forEach var = "rssFeedURL" items = "${rssfom.rssFeedURLs}">
<td align = "left">${rssFeedURL}</td>
</c:forEach>
</tr>
</table>
基本上,rssfom 是以下类的一个实例:
public class RSSFeedOccurrenceMiner extends RSSFeedMiner {
private HashMap<String, Counter> keywordFrequencies;
public RSS_Feed_OccurrenceMiner() {
super();
this.keywordFrequencies = new HashMap();
}
...
}
这继承自 RSSFeedMiner 类,其中包含以下变量和方法:
private ArrayList<String> rssFeedURLs;
public ArrayList<String> getRSSFeedURLs() {
return rssFeedURLs;
}
public void setRSSFeedURLs(ArrayList<String> rssFeedURLs) {
this.rssFeedURLs = rssFeedURLs;
}
所以在 JSP 中,我认为我可以使用上面的代码,但是当页面运行时,我只是收到一个空表。在服务器日志中,我倾向于找到消息:
javax.el.PropertyNotFoundException:在类型 RSSFeedOccurrenceMiner 上找不到属性“rssFeedURLs”
鉴于我使用继承,这是正确的。那么谁能告诉我 JSTL 是否允许继承,或者我的代码中是否缺少某些东西?
我真的不想在 JSP 中使用 scriptlet。