Foros del Web » Programación para mayores de 30 ;) » Java »

Colecciones, JSP, JSTL y ActionForm

Estas en el tema de Colecciones, JSP, JSTL y ActionForm en el foro de Java en Foros del Web. Hola a todos :) Tengo el siguiente ActionForm: Código: package airshines.struts; import javax.servlet.http.*; import org.apache.struts.action.*; import java.util.*; import airshines.beans.*; public class BookFlightsForm extends ActionForm { ...
  #1 (permalink)  
Antiguo 26/08/2008, 05:13
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Exclamación Colecciones, JSP, JSTL y ActionForm

Hola a todos :)

Tengo el siguiente ActionForm:
Código:
package airshines.struts;

import javax.servlet.http.*;
import org.apache.struts.action.*;
import java.util.*;
import airshines.beans.*;

public class BookFlightsForm extends ActionForm {
        private List<Integer> m_SelectedFlights;
        public List<Integer> getSelectedFlights() { return m_SelectedFlights; }
        public void setSelectedFlights( List<Integer> value ) { m_SelectedFlights
= value; }

        private Hashtable<Vuelo, List<Asiento>> m_DepartureFlights;
        public Hashtable<Vuelo, List<Asiento>> getDepartureFlights() { return
m_DepartureFlights; }
        public void setDepartureFlights( Hashtable<Vuelo, List<Asiento>> value )
{ m_DepartureFlights = value; }

        private Hashtable<Vuelo, List<Asiento>> m_ReturnFlights;
        public Hashtable<Vuelo, List<Asiento>> getReturnFlights() { return
m_ReturnFlights; }
        public void setReturnFlights( Hashtable<Vuelo, List<Asiento>> value ) {
m_ReturnFlights = value; }

        public ActionErrors validate( ActionMapping mapping, HttpServletRequest
request )
        {
                ...
        }
}
Como se puede observar, las tres propiedades del ActionForm son
colecciones. Mi intención es utilizar la primera para almacenar los
identificadores de los vuelos seleccionados por el usuario para reserva,
mientras que en la segunda y en la tercera pretendo almacenar todos los
vuelos y asientos de cada uno para ida y vuelta respectivamente que
aparecen como resultados tras hacer una búsqueda. Así, únicamente tendría
que recorrer estas dos últimas colecciones buscando aquellas cuyas keys
Vuelo tengan como identificador alguno de los que se encuentra en la
primera colección.

Dicho esto, lo siguiente es parte de mi jsp:

Código:
        <html:form action="/bookflights.do" method="POST">
                <table id="table">
                        <tr id="tableheader">
                                ...
                        </tr>
                        ...
                        <c:forEach items="${departureFlights}" var="entry">
                                <c:set var="flight" value="${entry.key}" scope="page"></c:set>
                                <c:set var="places" value="${entry.value}" scope="page"></c:set>
                                ...
                                <tr id="tableRegular">
                                        <td align="center"><html:checkbox property="selectedFlights"
value="${flight.id}"></html:checkbox></td>
                                ...
Sin embargo, cuando intento acceder a la propiedad selectedFlights me
devuelve null en cualquier caso. ¿Qué podría hacer para solucionarlo?

Además, no tengo ni idea de cómo pasar las colecciones departureFlights y
returnFlights de la JSP (enviadas a la misma por medio del request del
Action de búsqueda FindFlightsAction) al ActionForm de reserva
BookFlightsForm. Probé con un <html:hidden property="departureFlights"
value="${departureFlights}" /> pero no tuve éxito como era de esperar.
¿Alguna idea?

Gracias; un saludo.
  #2 (permalink)  
Antiguo 26/08/2008, 15:08
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Colecciones, JSP, JSTL y ActionForm

Hola Spacer,

En tu clase BookFlightsForm debes de declarar la variable "selectedFlights" como un arreglo de String

private String[] selectedFlights;

con su respectivo set() y get()

Y al momento que le des submit a tu pagina jsp, se enviaran solo los datos que hayas seleccionado en el checkbox.

saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:25.