此代码发送给我以下错误,我不知道为什么,似乎错误是一个输入字符串,但我认为代码是正确的。也许我写了一个错误的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 }"/>
答案 0 :(得分:0)
request.getParameter(&#34; id&#34;)的值为null,你应该添加一个输入 在名称=&#34; id&#34;
的表单中示例:
<input name="id" type="text"/>