EL - zagniezdzone odwolanie
L.Pietrzak@gmail.com - 31-07-2006 00:41
EL - zagniezdzone odwolanie
Witam Jak w Expression Language zrobic zagniezdzone odwoladalnie do elementu bedacego mapa ? Mam mape powiedzmy parameterNames. Jej kluczami sa liczby od 1 do 100 (nie po kolei). Teraz odwolanie parameterNames['1'] zwraca mi element, ktorego kluczem jest 1. Niestety, potrzebuje dostac element mapy, ktorego klucz znajduje sie na liscie obiektow, z ktorych kazdy ma wlasciwosc id. Jak teraz uzyskac odpowiednia wartosc ? Probowalem robic cos takiego : <c:forEach var="element" items="${listaObiektow}"> <c:out value="${parameterNames[element.id]}" </c:forEach>
Albo
<c:forEach var="element" items="${listaObiektow}"> <c:out value="${parameterNames['element.id']}" </c:forEach>
Zaden z tych dwoch sposobow nie dziala i juz nie wiem jak inaczej dostac te elementy mapy. Dodam ze sprawdzalem wartosc element.id i jest poprawna, jest takze kluczem mapy parameterNames. Moze ktos pomoc ? Pozdrawiam
Jacek Laskowski - 31-07-2006 00:41
L.Pietrzak@gmail.com wrote: > Witam > Jak w Expression Language zrobic zagniezdzone odwoladalnie do elementu > bedacego mapa ?
Przykład przetestowany na Apache Tomcat 5.5.17:
<%@ page language="java" contentType="text/html; charset=iso-8859-2" pageEncoding="ISO-8859-2"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <% java.util.List<referencja.Element> listaObiektow = new java.util.ArrayList<referencja.Element>(); listaObiektow.add(new pclj.Element(1)); listaObiektow.add(new pclj.Element(2));
java.util.Map<Integer, String> parameterNames = new java.util.HashMap<Integer, String>(); parameterNames.put(1, "Jeden"); parameterNames.put(2, "Dwa"); %> <c:set var="listaObiektow" value="<%= listaObiektow %>" /> <c:set var="parameterNames" value="<%= parameterNames %>" /> Testowanie wypisywania danych z mapy, której kluczami są wartości listy <p> <c:forEach var="element" items="${listaObiektow}"> <c:out value="${element.id}" /> daje <c:out value="${parameterNames[element.id]}" /> <br> </c:forEach> </body> </html>
Ciekaw jestem, czy idzie skrócić ten przykład zachowując ideę.
Jacek
-- Jacek Laskowski http://www.laskowski.net.pl
L.Pietrzak@gmail.com - 02-08-2006 00:50
Jacek Laskowski wrote: > L.Pietrzak@gmail.com wrote: > java.util.Map<Integer, String> parameterNames = new > java.util.HashMap<Integer, String>(); > parameterNames.put(1, "Jeden"); > parameterNames.put(2, "Dwa");
Dzieki Jacek, ten kawalek pomogl najbardziej. Niepotrzebnie deklarowalem mape jako <String, String>. Wyciaganie wartosci robilem tak jak to w dalszej czesci kodu pokazales. Dla typu <String, String> to nie dzialalo, dla <Integer, String> od razu zaczelo smigac. Pozdrawiam
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?iso-8859-2?Q?Zagnie=BFd=BFone_zapytanie_=5BMySQL=5D=5BPHP=5 D?=
=?iso-8859-2?q?[MSSQL_2000]_logowanie_procedur_zagnie=BFd=BFonych?=
=?iso-8859-2?q?Zagnie=BFdzone_SQL,_funkcje_wbudowane?=
problem z zagnieżdżonym zapytaniem sql + VFP
[pgsql] czy ..FOR UPDATE zagnieżdza blokadę?
Zagnieżdżony SQL
liczba odwolan do bazy a strona
PGSQL - odwołanie się do wyniku "w locie"
klasy a odwolania do funkcji
[ORACLE 9i]Rozmiar obszaru SGA
zanotowane.pldoc.pisz.plpdf.pisz.plsulimczyk.pev.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|