Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2011, 10:14
JaimeLG
 
Fecha de Ingreso: marzo-2008
Mensajes: 22
Antigüedad: 16 años, 1 mes
Puntos: 1
Cargar Combos dependientes con etiquetas struts

Hola:

tengo el siguiente problema:

Tengo un combo que cargo con una lista de categorias y un segundo combo que depende del primero que carga los cargos asociados a cada categoría.

Para cargar el primero utilizo un ArrayList de LabelValueForm. Sin embargo, para el segundo, pretendo utilizar un mapa, cuya clave se corresponda con el value del primer combo y el valor sea un ArrayList de LabelValueForm, que es lo que se lista.

He buscado diversas formas de realizar esto y la que más se ajustaba a lo que quiero consistía en utilizar la etiqueta doubleselect. Lamentablemente esta etiqueta no está disponible en struts 1.1 y no tengo opción de actualizar el proyecto a dicha versión.

La segunda opción que se me ocurrió fue eliminar los elementos del combo secundario y rellenarlo con las opciones que saque del mapa una vez seleccionada una categoría. Esta opción no he sabido ponerla en práctica. Me suena haber visto alguna función javascript que utilizaba etiquetas logic:iterate pero no he encontrado nuevamente esa página donde lo vi y tampoco se cómo pasar la categoría seleccionada como valor de la etiqueta recorriendo el mapa en un bloque java dentro de la función javascript.

La opción de ajax, preferiría evitarla, ya que ni tengo mucha idea de cómo utilizar ajax ni tengo tantos datos como para que merezca la pena estar haciendo llamadas asíncronas.

Si alguien me puede indicar cómo hacer esto mediante etiquetas struts, le estaría muy agradecido. Si no, tengo como última opción, pasar a la jsp un string, trocearlo y crear opciones desde mi función javascript para incluirlas en el combobox. Sin embargo, preferiría no introducir esta chapucilla.

En principio no tengo un form propio para este mapa y quizás el problema empiece por ahí, que necesite un action y un form para coger por separado la clave y por otro el LabelValueForm.

Un saludo y gracias.