Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #13060
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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