Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #13060

Re: JSTL: getting a map's keys

From Chris Riesbeck <Chris.Riesbeck@gmail.com>
Newsgroups comp.lang.java.programmer
Subject Re: JSTL: getting a map's keys
Date 2012-03-19 16:39 -0500
Message-ID <9spnckF2cdU1@mid.individual.net> (permalink)
References <9spbepF1baU1@mid.individual.net> <2b4fm7t90armrhn9qjn7qi25oqssceja73@4ax.com> <9sple1FilsU1@mid.individual.net>

Show all headers | View raw


On 3/19/2012 4:06 PM, Chris Riesbeck wrote:
> On 3/19/2012 3:08 PM, Tim Slattery wrote:
>> Chris Riesbeck<Chris.Riesbeck@gmail.com> wrote:
>>
>>
>>> <p>jstl: ${rates.keys}</p>
>>
>> The EL here finds the object "rates" and looks for an attribute named
>> "keys". That means that if rates doesn't have a public method named
>> getKeys, the EL won't find anything.
>>
> Which it does. Here's a complete example, class and test JSP, and the
> HTML output I get
>
> ****** CLASS
>
> package example;
>
> import java.util.HashMap;
> import java.util.Set;
>
> public class SimTable extends HashMap<String, Object> {
>
> public Set<String> getKeys() {
> return keySet();
> }
> }
>
> ****** JSP
>
> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
>
> <%
> final example.SimTable data = new example.SimTable();
> data.put("Bill", 100); data.put("Mary", 150); data.put("Fred", 200);
> pageContext.setAttribute("data", data);
> %>
>
> <!doctype HTML>
> <html>
> <head>
> <title>Test</title>
> </head>
> <body>
> <p>data: ${data}</p>
> <p>data.keys: ${data.keys}</p>
> <p>data.getKeys():
> <%= ((example.SimTable) pageContext.findAttribute("data")).getKeys() %>
> </p>
> </body>
> </html>
>
>
> ****** HTML output
>
> <!doctype HTML>
> <html>
> <head>
> <title>Test</title>
> </head>
> <body>
> <p>data: {Bill=100, Mary=150, Fred=200}</p>
> <p>data.keys: </p>
> <p>data.getKeys():
> [Bill, Mary, Fred]
> </p>
>
> </body>
> </html>

And I added these lines to my JSP to see if "keys" was appearing as a 
property via the Introspector and it was

****** additional JSP

<c:set var="props"
   value='<%= 
java.beans.Introspector.getBeanInfo(pageContext.findAttribute("data").getClass()).getPropertyDescriptors() 
%>' />
<ul>
   <c:forEach var="prop" items="${props}">
     <li>${prop.name}</li>
   </c:forEach>
</ul>

****** additional HTML output

<ul>

     <li>class</li>

     <li>empty</li>

     <li>keys</li>

</ul>

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

JSTL: getting a map's keys Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2012-03-19 13:15 -0500
  Re: JSTL: getting a map's keys Lew <lewbloch@gmail.com> - 2012-03-19 12:57 -0700
  Re: JSTL: getting a map's keys Tim Slattery <Slattery_T@bls.gov> - 2012-03-19 16:08 -0400
    Re: JSTL: getting a map's keys Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2012-03-19 16:06 -0500
      Re: JSTL: getting a map's keys Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2012-03-19 16:39 -0500
    Re: JSTL: getting a map's keys markspace <-@.> - 2012-03-19 15:27 -0700
  Re: JSTL: getting a map's keys Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-03-19 16:59 -0700
    Re: JSTL: getting a map's keys Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2012-03-20 12:19 -0500
      Re: JSTL: getting a map's keys Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2012-03-20 12:52 -0500
        Re: JSTL: getting a map's keys Lew <lewbloch@gmail.com> - 2012-03-20 11:05 -0700
          Re: JSTL: getting a map's keys Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2012-03-21 13:09 -0500
            Re: JSTL: getting a map's keys Lew <noone@lewscanon.com> - 2012-03-22 07:51 -0700
              Re: JSTL: getting a map's keys Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2012-03-22 12:53 -0500
                Re: JSTL: getting a map's keys Lew <lewbloch@gmail.com> - 2012-03-22 13:23 -0700
                Re: JSTL: getting a map's keys Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2012-03-23 12:23 -0500
                Re: JSTL: getting a map's keys Lew <noone@lewscanon.com> - 2012-03-23 13:50 -0700
                Re: JSTL: getting a map's keys Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2012-03-26 14:10 -0500
        Re: JSTL: getting a map's keys Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-03-20 11:28 -0700
        Re: JSTL: getting a map's keys markspace <-@.> - 2012-03-20 11:29 -0700
          Re: JSTL: getting a map's keys Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-03-20 12:10 -0700

csiph-web