这个jsp和servlet出了什么问题?

时间:2016-06-14 17:14:16

标签: java jsp servlets

  

此代码发送给我以下错误,我不知道为什么,似乎错误是一个输入字符串,但我认为代码是正确的。也许我写了一个错误的jsp?我做错了什么?

117:                <div class="col-md-4">
118:                    <input id="textinput" name="nombreUsuario" type="text"
119:                        placeholder="inserta nombre" class="form-control input-md"
120:                        required="" value="${usuarios.nombreUsuario }" >
121: 
122:                </div>
123:            </div>


Stacktrace:] con causa raíz
java.lang.NumberFormatException: For input string: "nombreUsuario"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
  

servlet

protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");

        // GestionEventos gestionEventos = new GestionEventos();
        GestionUsuarios gestionUsuarios = new GestionUsuarios();

        if (request.getParameter("id") != null) {
            int id = Integer.parseInt(request.getParameter("id"));

            Usuario us = gestionUsuarios.getUsuarioPorId(id);

            Collection<Usuario> usuarios = gestionUsuarios.list();

            if (us != null) {

                request.setAttribute("usuarios", usuarios);

                /*
                 * Usamos un map para comprobar si un evento está marcado
                 */

                // Map<Integer, String> usuarioEvento = new HashMap<Integer,
                // String>();

                // Usuario u = new Usuario();

                // usuarioEvento.put(new Integer((int) u.getIdUsuario()),
                // u.getNombreUsuario());

                // request.setAttribute("usuarioEvento", usuarioEvento);

                request.getRequestDispatcher("formularioUsuario1.jsp").forward(request, response);
            } else {
                // id sin corresponder a ningun usuario
                response.sendRedirect("TablaUsuariosServlet");
            }

        } else {
            // no hay un id válido
            response.sendRedirect("TablaUsuariosServlet");
        }
    }

protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        request.setCharacterEncoding("UTF-8");

        int id = Integer.parseInt(request.getParameter("id"));

        String nombreUsuario = request.getParameter("nombreUsuario");
        String apellidosUsuario = request.getParameter("apellidosUsuario");
        String contrasenia = request.getParameter("contrasenia");
        String email = request.getParameter("email");
        String preguntaSecreta = request.getParameter("preguntaSecreta");
        String respuestaSecreta = request.getParameter("respuestaSecreta");
        String sexo = request.getParameter("sexo");

        // Editando el usuario
        GestionUsuarios gestionUsuarios = new GestionUsuarios();

        Usuario us = gestionUsuarios.getUsuarioPorId(id);

        us.setNombreUsuario(nombreUsuario);
        us.setApellidosUsuario(apellidosUsuario);
        us.setContrasenia(contrasenia);
        us.setEmail(email);
        us.setPreguntaSecreta(preguntaSecreta);
        us.setRespuestaSecreta(respuestaSecreta);
        us.setSexo(sexo);

        gestionUsuarios.editarUsuario(us);

        response.sendRedirect("TablaUsuariosServlet");

    }
  

表单中的jsp代码

<!-- Text input-->
            <div class="form-group">
                <label class="col-md-4 control-label" for="textinput">Nombre</label>
                <div class="col-md-4">
                    <input id="textinput" name="nombreUsuario" type="text"
                        placeholder="inserta nombre" class="form-control input-md"
                        required="" value="${usuarios.nombreUsuario }" >

                </div>
            </div>
  

输入

<form class="form-horizontal" method="POST" action="EditarUsuario">
        <fieldset>



            <input id="textinput" name="id" type="hidden" value="${usuario.idUsuario }"/>

1 个答案:

答案 0 :(得分:0)

request.getParameter(&#34; id&#34;)的值为null,你应该添加一个输入 在名称=&#34; id&#34;

的表单中

示例:

<input  name="id" type="text"/>