Denis127, gracias por tu respuesta. Acertaste directamente con la razón del problema.
Cita: quizás el problema sea que no exista en el formulario el objeto <input name"usuario"/> por eso quizás al acceder al elemento desde el DOM no te lo guarde
Efectivamente, ha sido un error propio de quien empieza a divertirse con Java EE sin conocimientos previos de HTML y Javascript. Es la primera vez que escucho sobre el Document Object Model (DOM), no sabía que "al acceder al elemento desde el DOM", este era el responsable de "guardarlo" (debo profundizar sobre el significado de ese último término) y también he descubierto que DOM tiene que ver con una línea que se encuentra en el JSP
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
El problema que he planteado en el tema lo solucioné de la siguiente manera:
Primero, en el formulario, agregué el
hidden respectivo
Código:
<input type="hidden" name="usuario"></input>
Luego, en la función, agregué el método
submit para enviar los datos del formulario al Servlet
Código:
function f_elimina(p_usuario){
document.forms[0].action='cliente.pe';
document.forms[0].usuario.value=p_usuario;
document.forms[0].submit();
}
En el vínculo en HTML, que invoca a la función, no necesité realizar modificaciones
Código:
<a href="javascript:f_elimina('${cli.usuario}')">E</a>
Cita: no se si eso de ${} es de java o no porque mñas bien me recuerda a PHP o incluso a scripting en shell o awk
${cli.usuario} es código de JavaServer Pages Standard Tag Library (JSTL) que utiliza el Expression Languaje (EL) para evitar el uso de código Java en un JSP (JSP Scripting: Declarations, Scriplets y Expressions).
Cita: En cuanto a lo de que el servlet no recoja los parámetros te puedo decir que si lo has implementado en el método doGet, con el request.getParameter("nombre_paraḿetro") es la manera correcta.
Tras la corrección, quedó en evidencia que el Servlet siempre fue llamado correctamente. El método
eliminar es invocado por el método
service y no por
doGet en el Servlet que he programado
Código:
protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
[...]
this.eliminar(request,response);
[...]
}
Código:
private void eliminar(HttpServletRequest request,HttpServletResponse response){
String v_usuario = request.getParameter("usuario");
[...]
}
Saludos.