Ok, tal vez alguien me pueda ayudar con un problema que estoy tratando de resolver. Básicamente, tengo una página JSP que obtiene una lista de objetos Country (del método referenceData() de Spring Portlet SimpleFormController, que no es del todo relevante, sino que solo menciona en caso de que lo sea). Cada objeto país tiene un conjunto de objetos provincia y cada provincia y el país tiene un campo de nombre:Rellenar la matriz de JavaScript de la lista JSP
public class Country {
private String name;
private Set<Province> provinces;
//Getters and setters
}
public class Province {
private String name;
//Getters and setters
}
Ahora tengo dos menús desplegables en mi JSP para los países y provincias y quiero filtrar las provincias por país. He estado siguiendo este tutorial/guide para hacer una selección de cadena en JavaScript.
Ahora necesito una forma dinámica de crear la matriz de JavaScript a partir de mi contenido. Y antes de que alguien mencione AJAX, esto queda descartado ya que nuestro proyecto usa portlets y nos gustaría evitar el uso de frameworks como DWR o crear un servlet. Aquí está el código JavaScript/JSP que tengo hasta ahora, pero no lo es que pueblan la matriz con cualquier cosa:
var countries = new Array();
<c:forEach items="${countryList}" var="country" varStatus="status">
countries[status.index] = new Array();
countries[status.index]['country'] = ${country.name};
countries[status.index]['provinces'] =
[
<c:forEach items="${country.provinces}" var="province" varStatus="provinceStatus">
'${province.name}'
<c:if test="${!provinceStatus.last}">
,
</c:if>
</c:forEach>
];
</c:forEach>
¿Alguien sabe cómo crear una matriz de JavaScript en JSP en el caso anterior o lo que el 'mejores prácticas' sería considerado en este caso? ¡Gracias por adelantado!
La segunda daría como resultado que se genere considerablemente menos código, así que definitivamente seguiría esa ruta. – Pointy
¡Dulce, gracias! Tengo un problema con mi Controlador para obtener los países, pero esto era exactamente lo que estaba buscando ... ¡gracias de nuevo! Terminé yendo con la segunda solución que produce JSON en caso de que alguien se esté preguntando. –
Me alegro de poder ayudar. –