2013-02-27 8 views
5

Uzyskuję dostęp do elementu na liście tablic. problem powstaje, ponieważ indeks żądanego elementu jest zmienną. Czy ktoś może mi pomóc?jak uzyskać dostęp do elementu tablicy w jsp, gdy indeks jest zmienną?

np <td><c:out value="${PARENT_MODULE[module.moduleId]}"> </c:out></td>

tutaj module.moduleId jest zmienna.

Próbowałem już

<c:out value="${PARENT_MODULE[${module.moduleId}]}"> 

jednak daje to błąd.

org.apache.jasper.JasperException: /WEB-INF/jsp/showModules.jsp(40,20) "$ {PARENT_MODULE [$ {module.moduleId}]}" zawiera nieprawidłowej ekspresji (S) javax.el.ELException: błędu analizy: $ {PARENT_MODULE [$ {module.moduleId}]}

dzięki

+1

Nie trzeba używać $ {} wokół 'module.moduleId',' powinno działać. – obourgain

+0

dziękuję bardzo! Nigdy nie próbowałem tego .. jak myślałem, że było to bardzo mało prawdopodobne .. – Shubham

Odpowiedz

1

Zakładając PARENT_MODULE jest alias dałeś tablicę modules Zakładając module jest przedmiotem i moduleId to atrybut w obiekcie modułu

spróbuj tego:

< c:out value="${PARENT_MODULE[num].moduleId}"/> 

gdzie num jest liczbą. PARENT_MODULE[num] zwróci obiekt module w pozycji "num" w tablicy. a potem wszystko, co musisz zrobić, to uzyskać dostęp do atrybutu moduleId.

5

jako module.moduleId jest wewnątrz wyrazu EL będzie oceniane. Nie musisz więc umieszczać go w dodatkowym $ {}.

<c:out value="${PARENT_MODULE[module.moduleId]}"> będzie działać.

Powiązane problemy