Foro de elhacker.net

Programación => Java => Mensaje iniciado por: 1mpuls0 en 14 Abril 2015, 02:01 am



Título: Conocer que elementos están contenidos dentro de otro (Duda JSP)
Publicado por: 1mpuls0 en 14 Abril 2015, 02:01 am
Hola.
Tengo lo siguiente


Código
  1. <form action="save.jsp" method="post">
  2.  
  3. <div id="div1">
  4.  <input type="text" name="input1" id="input1" />
  5.  <input type="text" name="input2" id="input2" />
  6. </div>
  7.  
  8. <div id="div2">
  9.  <input type="text" name="input3" id="input3" />
  10.  <input type="text" name="input4" id="input4" />
  11. </div>
  12.  
  13. </form>
  14.  

Necesito guardar los elementos de div1 en una tabla de mysql A y los elementos del div2 en una tabla B.

Hay forma de identificar en save.jsp que elementos se encuentran en div1 y div2 para guardar en sus correspondientes?

Alguien conoce las formas de hacerlo?.

Gracias!


Título: Re: Conocer que elementos están contenidos dentro de otro (Duda JSP)
Publicado por: engel lex en 14 Abril 2015, 02:07 am
cuando se pasa la respuesta, no se pasa el html, solo los input con nombre y valor, yo recomendaría que con js le modificaras el nombredejando algo como

Código
  1. <form action="save.jsp" method="post">
  2.  
  3. <div id="div1">
  4.  <input type="text" name="input1;div1" id="input1" />
  5.  <input type="text" name="input2;div1" id="input2" />
  6. </div>
  7.  
  8. <div id="div2">
  9.  <input type="text" name="input3;div2" id="input3" />
  10.  <input type="text" name="input4;div2" id="input4" />
  11. </div>
  12.  
  13. </form>

para que puedas modificarlos dinamicamente (en el jscript o en el jsp solo tienes que partirlos por ; para indentificarlos)


Título: Re: Conocer que elementos están contenidos dentro de otro (Duda JSP)
Publicado por: 1mpuls0 en 14 Abril 2015, 02:20 am
Gracias por responder.

Olvidé mencionar que estoy utilizando beans  :xD y tengo que utilizar el nombre del campo de la base de datos en el valor name del input.

Código
  1. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  2. <jsp:useBean id="inf" class="models.beans.Aplicacion" scope="application" />
  3. <jsp:useBean id="consulta" class="com.dao.Consultas" scope="application" />
  4. <jsp:setProperty name="inf" property="*" />
  5. <!DOCTYPE html>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Registrando..</title>
  8. </head>
  9. <%
  10.                        consulta.insertarApp(inf);
  11. response.setHeader("Refresh", "1;url=index.jsp");
  12.         %>
  13.         <div align="center">
  14.         Se registró correctamente
  15.         </div>
  16. </body>
  17. </html>
  18.  

Código
  1. public void insertarApp(InformacionApp inf) throws SQLException {
  2.  
  3.        String consulta ="INSERT INTO A(div1, div2) VALUES(?, ?)";
  4.        PreparedStatement guardaDatos = c.prepareStatement(consulta);
  5.  
  6.  
  7.        guardaDatos.setString(1, inf.getValorDiv1());
  8.        guardaDatos.setString(2, inf.getValorDiv2());
  9.  
  10.       guardaDatos.executeUpdate();
  11. }
  12.  
  13.  

Lo que mencionas aun así me funciona con la estructura que ya tengo?.
Porque necesitaría regresar al nombre original del input una vez identificado en el jsp.


Título: Re: Conocer que elementos están contenidos dentro de otro (Duda JSP)
Publicado por: engel lex en 14 Abril 2015, 02:28 am
lo siento allí alguien más deberá ayudar, trataba de dar una solución general, de jsp no se absolutamente nada :P



Título: Re: Conocer que elementos están contenidos dentro de otro (Duda JSP)
Publicado por: 1mpuls0 en 14 Abril 2015, 02:42 am
Agradezco tu ayuda.

Lo que no quiero es tomar cada uno de los valores con request.getParameter porque son muchos (25 campos) pero si no hay otra forma lo tendré que hacer así.
Seguiré buscando alguna forma y si la encuentro lo comparto.

Saludos.


Título: Re: Conocer que elementos están contenidos dentro de otro (Duda JSP)
Publicado por: Usuario Invitado en 14 Abril 2015, 04:38 am
¿Por qué no creas un Servlet, serializas los datos del formulario y lo envías mediante AJAX, y desde aquí injectas el DAO (si es un EJB) para que haga el insert?

Ya que los datos se enviarían por JSON, solo necesitarías una librería para transformar el stringify en JSON. El envío sería así:

Código
  1. $("form").on("submit", function(e) {
  2.    e.preventDefault();
  3.    var data = $(this).serializeArray();
  4.    $.ajax({
  5.        method: "POST",
  6.        url: "LoginController",
  7.        data: JSON.stringify(data);
  8.    })
  9.    .done(function(msg) {
  10.  
  11.    })
  12.    .fail(function(jqXHR, textStatus) {
  13.  
  14.    });
  15. }, true);


En el servlet, solo deberías convertir ese JSON en texto a un JSON o a un Map. Puedes usar GSON, por ejemplo.


Saludos.