<[EMAIL PROTECTED] isELIgnored="false"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
Map size is ${fn:length(TableRows)}
Roy Benjamin wrote:
Very interesting, so wrapping would work, but you can't just expose a Bean property.
I've switched to c-rt for now,
Thanks!
On Fri, 2004-03-26 at 10:35, Kris Schneider wrote:
Maps are treated differently than regular JavaBeans so that you can't access bean properties. For example, every object has a bean property called "class", but you won't get any output if you try ${map.class}. It's even more fun to try and get at a map's "empty" property ;-). If all you're concerned with is testing whether a map is empty or not, you can use ${not empty map}. If you really need the size of the map, you could try the Unstandard taglib:
http://jakarta.apache.org/taglibs/sandbox/doc/unstandard-doc/intro.html
Or do something like create a wrapper bean for collections that exposes a "size" property and delegates to the wrapped collection.
Quoting Roy Benjamin <[EMAIL PROTECTED]>:
I am displaying the values in a TreeMap using forEach tag. However, I only want to do this if the map is not empty. I also need to display the count of entries in the map at the top of the page.
In TreeMap, size/size() is not a Bean Property (no?) so I tried in-line subclassing to expose the property:
<% TreeMap treeMap = new TreeMap() { public int getSize(){return size();} }; pageContext.setAttribute("TableRows",treeMap); %>
now much later I try:
<TD> Search Results: <c:out value="${TableRows.size}"/> found. </TD>
I could just count things as they are added to the map over a series of SQL queries, but it seemed to me this was the better solution.. only the EL expression is null.
I'm sure I'm doing something wrong....
Thanks
Roy
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
