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 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<form method="get" action="test.htm"> <%
int x=0;
for(x=2; x<11; x++)
{
if ((request.getParameter("numero") != null) && Integer.parseInt(request.getParameter("numero"))==x)
{
out.println ("<option selected>"+x+"
</option>");
}
else
{
}
}
%>
<input type="submit" value="Enviar" name="enviar">
<%
int i=0;
if(request.getParameter("numero")!=null) {
out.println ("<form method='get' action='test.htm'> ");
String[] cajas = request.getParameterValues("caixa");
if(cajas==null){
for(i=0;i<Integer.parseInt(request.getParameter("numero"));i++) {
out.println ("<input type='text' value='"+i+"' name='caixa'><br>");
}
}
out.println ("
<input type='submit' value='Sumar' name='sumar'>");
out.println ("
</form> ");
}
if(request.getParameter("caixa")!=null) {
String[] valores = request.getParameterValues("caixa");
int suma=0;
for(String v: valores){
suma = suma + Integer.parseInt(v);
}
out.println ("
<br>La suma dels números és: "+suma);
}
%>
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:
Fijate también en el foreach como lo he hecho:
Código Java:
Ver originalString[] valores
= request.
getParameterValues("caixa"); int suma=0;
}
y en las condiciones IF hay que tener cuidado con los paréntesis!!
Un saludo!! Espero que te funcione!