Como recuperar un dato concatenado en JSTL

Buenas, verán esta vez estoy tratando de recuperar los datos que concatené dinámicamente en java pero con JSTL, sé cómo hacerlo con scriplets pero pss como he decidido cambiar las cosas por eso lo estoy haciendo diferente.

Este es mi código en java:

                for( Estado estado : listaEstado ){
                        listaPla = plazaBI.findPlaByEdo(estado);
                        mv.addObject("listaPla"+estado.getIdedo(), listaPla);
                }

Este es el de mi JSP donde quiero recuperar el la lista concatenada:

                <c:forEach items="${listaEstado}" var="estado">
                        <c:forEach items="${listaPla}${estado.idedo}" var="plaza"> (aqui no se como hacerle)
                        </c:forEach>
                </c:forEach>

Estas son de las diferencias que se hablaban en un tema anterior. Espero alguien pueda ayudarme. Salu2.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de AlexSnake

Sin solución

Parece que no soy el único que ha buscado esta solución, aquí un problema similar. Tal parece que siempre si utilizare scriptles :S

Imagen de luxspes

Preguntando la pregunta correcta

Quisiera ayudarte, pero no entiendo tu pregunta, tal ves si explicaras que datos vienen dentro de listaEstado, de que tipo es tu variable listaPla (cuya declaración no entiendo por que no la pusiste dentro del ciclo), tampoco entiendo cual es el sentido de la variable mv y finalmente, si pusieras un fragmento del HTML que esperas que se genere como resultado, ayudarias mucho a que otros comprendamos cual es tu objetivo final.

Por otro lado, al evitar los scriptlets es importante recordar que lo que se intenta es aplicar la filosofia MVC, en donde se le pasa a la las etiquetas JSTL (V) los datos (M) ya preparados (C) para su presentacion (V). Una de las cosas que se busca es minimizar al maximo el codigo escrito en el JSP (y no transferir el algoritmo en java a etiquetas JSTL)

Tal vez este articulo que incluye entre otros un ejemplo de concatenacion (Listing 4), te sirva (si no quieres mandar la concatenacion a la pagina, si no a una variable, cambia c:out por c:set ).

Lamento no poderte dar mas consejo, por que no se que intentas hacer...

Imagen de AlexSnake

Detalle

Gracias por tu respuesta luxspes tienes razón me hace falta dar información. En atención a tu respuesta explico:
listaEstado y listaPla son listas de dos objetos diferentes de tipo bean, pojo, clase… que hacen referencia a dos tablas distintas de mi bd y que se encuentran relacionadas entre sí con una relación de uno a muchos.
Dentro de listaEstado viene los datos básicos de toda tabla (id, desc, key). Y lo que trato de hacer al poner este código listaPla = plazaBI.findPlaByEdo(estado); es recoger únicamente las plazas relacionadas a la lista de estados encontrados con la finalidad de no hacer un findAll(); y recorrer toda la lista de las plazas de la bd comparando que plaza corresponde a que estado.
Por otro lado mv es una instancia de tipo new ModelAndView() para regresar los datos a la vista.

Mi pregunta es:
Si lo que hago en el jsp con un scriplets es:

<%             
                List<Plaza> listaPla;
                List<Estado> listaEdo = (List<Estado>)request.getAttribute("listEdo");
                for(Estado estado : listaEdo){
                        listaPla = (List<Plaza>)request.getAttribute("listPla"+estado.getIdedo());

                        }
                }
%>

Como podría hacer eso con JSTL?

Finalmente lo que quiero mostar en pantalla es:
EstadoX->plaza1, plaza2, plaza3.
EstadoY->plaza1, plaza2.
EstadoZ->plaza1, plaza2, plaza3, plaza4.

"al evitar los scriptlets es importante recordar que lo que se intenta es aplicar la filosofía MVC"
Precisamente por eso mismo trato de no poner más scriptlets, porque he visto como sobre saturan los JSP y se vuelve más lenta la interpretación de datos en el navegador.
Espero haber dado la información necesaria y legible. Saludos.

Imagen de luxspes

Con el modelo armado correctamente, la JSTL es facil de usar

Bueno, para empezar este codigo no muestra nada (recorre los arreglos, pero nunca manda nada a la pagina):

<%            
                List<Plaza> listaPla;
                List<Estado> listaEdo = (List<Estado>)request.getAttribute("listEdo");
                for(Estado estado : listaEdo){
                        listaPla = (List<Plaza>)request.getAttribute("listPla"+estado.getIdedo());

                        }
                }
%>

Por otro lado dices que quieres algo asi:

Finalmente lo que quiero mostar en pantalla es:
EstadoX->plaza1, plaza2, plaza3.
EstadoY->plaza1, plaza2.
EstadoZ->plaza1, plaza2, plaza3, plaza4.

Entonces seria algo asi usando la JSTL:

<c:forEach var="estado" items="${listaEstado}" >
<c:out value="${estado.nombre}"/>
          <c:forEach  var="plaza" items="${estado.plazas}">
                             <c:out value="${plaza.nombre}"/>
           </c:forEach>
</c:forEach>

Esto asume que tienes una clase Estado (instanacias de la cual estan en la variable listaEstado), en donde dicha clase Estado que tiene un metodo getPlazas() que devuelve una lista de los objetos Plazas de dicho Estado.

Si no usas clases, entonces puedes conseguir el mismo comportamiento usando java.util.Map, (recuerda que cada Map representa 1 registro y cada par llave/valor del Map representa un campo, asi que tendrias que tener un List<Map<String,Object>> para representar a tu lista de Estados, y a su vez, una de las llaves del Map con valor "plazas" tendria otro List<Map<String,Object>> con las plazas de dicho estado