使用 JSTL/EL/JAVA 检索 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 不兼容
有更好的方法吗?
谢谢,兰德尔。
I am trying to access the first element of a TreeMap, I have the following HTML in a JSP file:
<c:forEach items="${subscriber.depent}" var="entry" begin="0" end="0" step="1">
<c:set var="dep" value="${entry.value}" />
</c:forEach>
This code gets me the first element of the TreeMap but this just seems like a 'hack' to me.
I have also tried:
<c:set var="dep" value="${subscriber.depent[0]}" />
But that gives me a exception:
java.lang.Integer incompatible with java.lang.Long
Any better ways of doing this?
Thanks, Randall.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了做到这一点,您需要进入这样一种情况:“第一个”在 JSTL 的 Collection/array/getter 上下文中有意义。不幸的是,TreeMap.firstKey 不是 getter,因此您无法使用 JSTL 语法获取它。
如果您可以子类化 TreeMap,则可以添加一个“getFirstKey()”方法,该方法仅调用firstKey,然后使用“subscriber.depent.firstKey”引用它。
In order to do this, you need to get into a situation where the "first of" makes sense in the Collection/array/getter context that you have with JSTL. Unfortunately the TreeMap.firstKey is not a getter so you cannot get to it with JSTL-syntax.
If you can subclass the TreeMap you can add a "getFirstKey()" method which just calls firstKey and then refer to it with "subscriber.depent.firstKey".