使用JSTL / EL / JAVA检索TreeMap的第一个元素

时间:2010-08-17 23:53:05

标签: java jsp jstl el treemap

我正在尝试访问TreeMap的第一个元素,我在JSP文件中有以下HTML:

<c:forEach items="${subscriber.depent}" var="entry" begin="0" end="0" step="1">
    <c:set var="dep" value="${entry.value}" />
</c:forEach>

这段代码让我获得了TreeMap的第一个元素,但这对我来说似乎是一个“黑客”。

我也尝试过:

<c:set var="dep" value="${subscriber.depent[0]}" />

但这给了我一个例外:

java.lang.Integer与java.lang.Long不兼容

有更好的方法吗?

谢谢,兰德尔。

1 个答案:

答案 0 :(得分:3)

为了做到这一点,你需要进入一种情况,即在使用JSTL的Collection / array / getter上下文中,“first”是有意义的。不幸的是,TreeMap.firstKey不是一个getter,因此你无法使用JSTL语法来实现它。

如果你可以继承TreeMap,你可以添加一个“getFirstKey()”方法,该方法只调用firstKey,然后用“subscriber.depent.firstKey”引用它。