Cómo anidar una expresión EL en otra expresión EL

Estoy escribiendo JSP / JSTL, y estoy tratando de iterar sobre varios elementos en una base de datos.

Actualmente tengo tres columnas en la base de datos, ${image1} , ${image2} y ${image3} . Estoy tratando de usar el siguiente código para imprimir información para ellos:

  ${image${i}}  

¿Hay alguna manera de que pueda hacer que esto funcione?

No puedes anidar expresiones EL así.

Puede alcanzar el requisito funcional concreto solo si conoce el scope de esas variables de antemano. De esta forma, puede utilizar la notación ortopédica al acceder directamente al mapa de scope. Puede usar para crear una nueva variable de cadena en el ámbito EL compuesto de múltiples variables. Puede usar, por ejemplo, ${requestScope} para acceder al mapeo de variables con ámbito de solicitud.

Por lo tanto, siempre que haya almacenado esas variables en el scope de la solicitud, esto debería hacer:

   ${requestScope[image]}  

Para el scope de la sesión, use el mapa ${sessionScope} en su lugar.

Ver también:

  • Nuestra página wiki de EL
  • Concatenación de cadenas en EL

Bueno, pude crear una expresión anidada al poner la expresión anidada entre paréntesis (), ver el ejemplo a continuación.

#{row.Dateapproved eq null ? 'true' : (row.Appealrange > (bindings.Appealvalidation.inputValue) ? 'true' : 'false') }