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

PropertyEditor para Collections en Spring

Estas en el tema de PropertyEditor para Collections en Spring en el foro de Java en Foros del Web. Buenos dias: Estoy intentando hacer un PropertyEditor para una serie de Collections. El problema es que se controla en la jsp a partir de collections. ...
  #1 (permalink)  
Antiguo 18/03/2011, 03:17
 
Fecha de Ingreso: agosto-2010
Mensajes: 51
Antigüedad: 13 años, 8 meses
Puntos: 1
PropertyEditor para Collections en Spring

Buenos dias:

Estoy intentando hacer un PropertyEditor para una serie de Collections. El problema es que se controla en la jsp a partir de collections. Spring sólo reconoce cadenas y números, para que pille en el submit un set o un collection hay que declarar en el initBinder del controlador del servicio un propertyEditor para que recoja los datos. El problema que está dando es que al hacer el submit no almacena los datos en el collection, da un null que rompe la aplicación en ese campo.

Os pongo el codigo de la jsp como lo tengo construido y el codigo en el initBinder en el controlador a ver si alguien me pudiera echar una mano con eso porque me trae por el camino de la amargura.

Codigo JSP
Código:
<fieldset>
		<legend>Técnicas/Subtécnicas</legend>
		<div id="seccionCheckBox">
			<c:forEach var="tecnica" items="${imagen.listaTecnicas}">
				<div>
				<form:label path="listaTecnicas[${tecnica.posicion}].asociada">
						<c:out value="${tecnica.descTecnica}"/>
					</form:label>
				<form:checkbox path="listaTecnicas[${tecnica.posicion}].asociada" id="check_${tecnica.idTecnica}" onclick="aparecerSubtecnicas(this.value,'${tecnica.idTecnica}')"/>
					<br/>
					<c:if test="${tecnica.asociada}">
						<div id="capa_${tecnica.idTecnica}" style="display: inline">
							<c:forEach var="subtecnica" items="${tecnica.listasTecnicases}">
								<br/>
						<label style="font-size:0.7em; font-weight:normal;vertical-align: middle;text-align:right; color: gray;"><c:out value="${subtecnica.descSubtec}"/></label>
							<form:checkbox path="listaTecnicas[${tecnica.posicion}].listasTecnicases[${subtecnica.posicion}].asociada" />
								<br/>
							</c:forEach>
						</div>
					</c:if>
					<c:if test="${!(tecnica.asociada)}">
						<div id="capa_${tecnica.idTecnica}" style="display: none">
							<c:forEach var="subtecnica" items="${tecnica.listasTecnicases}">
								<br/>
			<label style="font-size:0.7em; font-weight:normal;vertical-align: middle;text-align:right; color: gray;"><c:out value="${subtecnica.descSubtec}"/></label>
			<form:checkbox path="listaTecnicas[${tecnica.posicion}].listasTecnicases[${subtecnica.posicion}].asociada" />
								<br/>
							</c:forEach>
							</div>
					</c:if>
				</div>
			</c:forEach>
		</div>
 </fieldset>
Codigo del initBinder del controlador
Código:
binder.registerCustomEditor(Set.class, "listaTecnicas", new CustomCollectionEditor(Set.class)
			  {
			    protected Object convertElement(Object element)
			    {
			      Tecnica tecnica = null;
			      if (element instanceof Tecnica)
			        tecnica = (Tecnica) element;
			      return tecnica != null ? tecnica : null;
			    }
			});

gracias por la ayuda, sea cual sea
  #2 (permalink)  
Antiguo 21/03/2011, 01:28
 
Fecha de Ingreso: agosto-2010
Mensajes: 51
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: PropertyEditor para Collections en Spring

nadie sabe como podria hacerlo?

Etiquetas: spring
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 14:25.