Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to access an element of arraylist in jsp when index is a variable?

i m accessing an element in an arraylist. the problem arises as the index of the required element is a variable. can anyone plz help me?

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

here module.moduleId is a variable.

i have already tried

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

however this gives an error.

org.apache.jasper.JasperException: /WEB-INF/jsp/showModules.jsp(40,20) "${PARENT_MODULE[${module.moduleId}]}" contains invalid expression(s): javax.el.ELException: Error Parsing: ${PARENT_MODULE[${module.moduleId}]}

thanks

like image 204
Shubham Avatar asked Feb 27 '13 07:02

Shubham


2 Answers

As module.moduleId is inside an EL expression, it will be evaluated. So you don't need to enclose it in an additional ${}.

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

like image 168
obourgain Avatar answered Nov 12 '22 19:11

obourgain


Assuming PARENT_MODULE is the alias you gave the array of modules Assuming module is the object and moduleId is an attribute in the module object

try this:

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

where num is a number. PARENT_MODULE[num] would return the object module at the "num" position in the array. and after that all you have to do is access the moduleId attribute.

like image 33
Shardayyy Avatar answered Nov 12 '22 19:11

Shardayyy