Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

198
Vistas
Publicar Map<String,Object> en Spring Controller usando Ajax

Estoy tratando de publicar un modelo que contiene un mapa en mi controlador, lo he intentado de dos maneras:

Primero, solo estoy usando una etiqueta normal, llega a mi controlador con la tecla de cadena correcta, pero el objeto del mapa se vuelve nulo

 <c:forEach items="${productQuote.prodconTm}" var="productQuoteObjTM" varStatus="status"> <tr> <td>${productQuoteObjTM.key}</td> <td> <input value="${productQuoteObjTM.value.qty}" name="prodconTm['${productQuoteObjTM.key}']${productQuoteObjTM.value}" id="inputQuote${status.index}"/> </td> <td>${productQuoteObjTM.value.totalPrice}</td> </tr> </c:forEach>

También traté de pasar el Mapa usando la etiqueta de formulario, como se muestra en la línea a continuación:

pero no llega a mi controlador, estoy pasando este formulario a una función ajax:

 $(document).ready(function() { $('#quoteForm').submit( function(event) { $.ajax({ url : $("#quoteForm").attr("action"), data : $("#quoteForm").serialize(), type : "POST", success : function(response) { $("#prodConfig").html(response); }, error : function(xhr, status, error) { alert("ERROR:"+xhr.responseText); }}); return false; }); });

este es el controlador que está esperando el modelo:

 @RequestMapping(value="/saveConfig",method = RequestMethod.POST) public ModelAndView currentquote(@ModelAttribute("productQuote") ProductQuoteDTO productQuote) { .. }

por favor, hágame saber dónde estoy haciendo mal. ¡Gracias!

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Debe usar formularios JSP en lugar de formularios HTML sin procesar, hará su vida mucho más simple.
Supongo que productQuote.prodconTm es tu mapa:

 <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <form:form id="quoteForm" commandName="productQuote"> <c:forEach items="${productQuote.prodconTm}" var="entry"> <tr> <td>${entry.key}</td> <td> <form:input path="prodconTm['${entry.key}'].qty" /> </td> <td>${entry.value.totalPrice}</td> </tr> </c:forEach> </form:form>

No estoy seguro de si prodconTm['${entry.key}'].qty en la ruta.
De lo contrario, es posible que deba adaptar el DTO de su valor de mapa a una cadena simple o una primitiva

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda