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

[SOLUCIONADO] Programa en JSP que genere X caja de texto y sume su contenido

Estas en el tema de Programa en JSP que genere X caja de texto y sume su contenido en el foro de Java en Foros del Web. Buenas, hice un ejercicio en php en el que el usuario elegia un numero de "cajas" (input="text") entre 1 y 10, que se lo dejaba ...
  #1 (permalink)  
Antiguo 11/12/2013, 14:37
 
Fecha de Ingreso: noviembre-2013
Mensajes: 47
Antigüedad: 10 años, 5 meses
Puntos: 0
Programa en JSP que genere X caja de texto y sume su contenido

Buenas, hice un ejercicio en php en el que el usuario elegia un numero de "cajas" (input="text") entre 1 y 10, que se lo dejaba elegir en un desplegable, y despues sumaba los numeros que ponia dentro, ahora tengo que pasar ese programa a JSP, tengo una parte echa, pero hay trozos que me dan error y otros que directamente no se hacer, pego el codigo que tengo haber si alguien me puede iluminar, gracias

Código:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        
        <form method="post" action="index.jsp">
        <select name="numero">
        <%
            int x=0;
            
            for(x=2; x<11; x++) 
            {
            if (request.getParameter("numero") != null)) && Integer.parseInt(Integer.parseInt(request.getParameter("numero"))==x)
                    {
                        out.println ("<option selected>x</option>");
                    }
            else 
                    {
                        out.println ("<option>x</option>");
                    }
            }
        %>
        
        
</select>
<input type="submit" value="Enviar" name="enviar">
</form>
        
        <%
            int i=0;
            
    if(request.getParameter("numero")) {
        out.println ("<form method='post' action='index.jsp?numero="+request.getParameter("numero")+"'> ");
        for(i=0;i<Integer.parseInt(request.getParameter("numero"));i++) {

            if(Integer.parseInt(request.getParameter["caixa"][i]))  
            {
                out.println ("<input type='text' value='"+request.getParameter("numero")[i]+"' name='caixa[]'><br>");
            }
                else 
            {
                out.println ("<input type='text' name='caixa[]'><br>");
            }
        }
        out.println ("<input type='submit' value='Sumar' name='sumar'>");
        out.println ("</form> ");
        }

    if(request.getParameter["caixa"]) {
        
        int suma=0;
        foreach(request.getParameter["caixa"] as $valor)
            suma = suma + $valor;
        out.println ("<br>La suma dels números és: "+suma);
        
        }
%>
        
    </body>
</html>
  #2 (permalink)  
Antiguo 12/12/2013, 03:19
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Programa en JSP que genere X caja de texto y sume su contenido

hola,

modificando tu código lo he dejado así y a mi me funciona
Tienes que cambiar los formularios y llamar a tu jsp

Código HTML:
Ver original
  1.     <head>
  2.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3.         <title>JSP Page</title>
  4.     </head>
  5.     <body>
  6.        
  7.         <form method="get" action="test.htm">
  8.         <select name="numero">
  9.         <%
  10.            int x=0;
  11.            
  12.            for(x=2; x<11; x++)
  13.            {
  14.                 if ((request.getParameter("numero") != null) && Integer.parseInt(request.getParameter("numero"))==x)
  15.                    {
  16.                        out.println ("<option selected>"+x+"</option>");
  17.                     }
  18.                 else
  19.                     {
  20.                         out.println ("<option>"+x+"</option>");
  21.                     }
  22.             }
  23.         %>
  24.        
  25.        
  26. <input type="submit" value="Enviar" name="enviar">
  27. </form>
  28.        
  29.         <%
  30.            int i=0;
  31.            
  32.    if(request.getParameter("numero")!=null) {
  33.        out.println ("<form method='get' action='test.htm'> ");
  34.         String[] cajas = request.getParameterValues("caixa");
  35.         if(cajas==null){
  36.             for(i=0;i<Integer.parseInt(request.getParameter("numero"));i++) {
  37.                 out.println ("<input type='text' value='"+i+"' name='caixa'><br>");
  38.             }                  
  39.         }          
  40.        
  41.         out.println ("<input type='submit' value='Sumar' name='sumar'>");
  42.         out.println ("</form> ");
  43.     }
  44.  
  45.     if(request.getParameter("caixa")!=null) {
  46.         String[] valores = request.getParameterValues("caixa");      
  47.         int suma=0;
  48.         for(String v: valores){
  49.             suma = suma + Integer.parseInt(v);
  50.         }        
  51.         out.println ("<br>La suma dels números és: "+suma);
  52.        
  53.         }
  54. %>
  55.        
  56.     </body>
  57. </html>

Unos comentarios respecto a lo que tenias hecho:

Si quieres coger un array de elementos con el mismo nombre, no vale hacer como lo estabas haciendo tu, hay que hacerlo asi:

Código Java:
Ver original
  1. String[] valores = request.getParameterValues("caixa");

Fijate también en el foreach como lo he hecho:

Código Java:
Ver original
  1. String[] valores = request.getParameterValues("caixa");      
  2.         int suma=0;
  3.         for(String v: valores){
  4.             suma = suma + Integer.parseInt(v);
  5.         }

y en las condiciones IF hay que tener cuidado con los paréntesis!!

Un saludo!! Espero que te funcione!
  #3 (permalink)  
Antiguo 15/12/2013, 09:12
 
Fecha de Ingreso: noviembre-2013
Mensajes: 47
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Programa en JSP que genere X caja de texto y sume su contenido

Si que funciona, es justo lo que buscava, muchas gracias! (perdon por responder tan tarde no habia podido entrar hasta hoy)

Etiquetas: caja, contenido, html, jsp, programa
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:02.