Estoy trabajando en la interfaz de un proyecto que me da etiquetas de Java Expression Language para trabajar. En una instancia, necesito ver si devuelve una matriz o solo un bit de datos y no sé cómo trabajar con ella.Tratando con Java Expression Language en una página
Ejemplo:
La página tiene
<p>${WebAppContext.buildings[0].location.name}</p>
la que sería algo así como:
<p>Acme</p>
El problema es que necesito de salida más si hay más en que los edificios de bits:
Algo así como (en pseudocódigo):
if isArray(${WebAppContext.buildings}){
foreach(${WebAppContext.buildings} as foo){
//iterate over whatever is in the array
}
}
por lo que puede dar salida a algo como: "Dunnokindofbusyrightnowbuhbye"
<p>${WebAppContext.buildings[0].location.name}</p>
<p>${WebAppContext.buildings[1].location.name}</p>
le pregunté a la gente de Java responsables de generar el código y me dijeron así que espero que ustedes tengan alguna idea.
Más allá de pegar el código en la página, no tengo ni idea de cómo trabajar con este lenguaje de expresiones de Java (incluso tuve que buscarlo para ver cómo diablos se llama). Entonces, cualquier consejo/recurso sería útil.
EDIT:
He intentado lo siguiente y no estoy recibiendo ningún resultado:
<c:forEach var='building' items='${WebAppContext.buildings}'>
<p>${building.location.name}</p>
</c:forEach>
En la fuente de la página sólo muestra:
<c:forEach var='meeting' items='[Lorg.foo.bar.baz.bat.serviceapi.webserviceobject.xsd.BuildingsWSO;@3823ff8'>
<p></p>
</c:forEach>
Admitiré que, sin saber nada sobre Java Expression Language, no entiendo por qué los elementos = '' se traduce como lo hace, pero puedo ver que sigue una ruta en la configuración que usamos. Ahora Cuando uso:
<p>${WebAppContext.buildings[0].location.name}</p>
<p>${WebAppContext.buildings[1].location.name}</p>
me sale:
<p>Krustylu Studios</p>
<p>Springfield Nuclear Power Plant</p>
http://download.oracle.com/javaee/5/tutorial/doc/bnake.html – McDowell
¿Puede usted realmente no utilizar ¿Taglibs como JSTL? Estás trabajando con JSP, ¿verdad? – BalusC
@BalusC: Acabo de actualizar mi pregunta para mostrar lo que obtengo cuando pruebo la sugerencia de ForEach que se ofrece a continuación. – Stuart