A ver si puedo explicarme, porque es un poco complicao de exponer mi duda:
Tengo varios ficheros JSP, y su orden de aparición/uso en la aplicación es:
- index.jsp
- inicioFormModificarUsuario.jsp
- inicio2FormModificarUsuario.jsp
- formModificarUsuario.jsp
- modificarUsuario.jsp
La cuestión está que en
inicioFormModificarUsuario.jsp tengo lo siguiente:
Parte de su código (el perteneciente al formulario del "ID Usuario") es:
Cita: <%-- Buscar al Usuario por su "ID Usuario" --%>
<form id="form1" name="formIdUsuario" method="post" action="inicio2FormModificarUsuario.jsp">
<tr class="filas">
<td class="columnas">ID Usuario: </td>
<td class="columnas"><input type="text" name="idUsuario" id="idUsuario" maxlength=30 /></td>
<input type="hidden" name="nombreFormulario" id="nombreFormulario" value="formIdUsuario">
</tr>
<tr class="filas">
<td class="columnas"></td>
<td class="columnas"><input type="reset" name="limpiar" id="limpiar" value="Limpiar Datos" /> <input type="submit" name="aceptar" id="aceptar" value="Aceptar" /></td>
</tr>
<tr class="filas">
<td class="columnas"><p></p></td>
<td class="columnas"><p></p></td>
</tr>
<tr class="filas">
<td class="columnas"><p></p></td>
<td class="columnas"><p></p></td>
</tr>
</form>
En
inicio2FormModificarUsuario.jsp, el código que gestiona el Formulario de "ID Usuario" de la página JSP anterior es:
Cita: <%
// Si ha pulsado el botón de "Aceptar" perteneciente al "ID Usuario"...
if("formIdUsuario".equals(request.getParameter("no mbreFormulario"))) {
out.println(request.getParameter("idUsuario"));
String id = request.getParameter("idUsuario");
out.println(id);
%>
<%-- Envía idUsuario a la siguiente página JSP --%>
<form id="form2" name="formIdUsuario" method="post" action="formModificarUsuario.jsp">
<input type="hidden" name="idUsuario" id="idUsuario" value="<% request.getParameter("idUsuario"); %>">
<p> ID: <% request.getParameter("idUsuario"); %> </p>
</form>
<%
/*session.setAttribute("idUsuario", request.getParameter("idUsuario"));*/ /* nombreQueQueramos, datoApasar
Si quiero recuperar este dato, pongo en la página JSP que la recibirá:
String idUsuario = (String)session.getAttribute("idUsuario"); */
} // END_IF
En
formModificarUsuario.jsp tengo el siguiente código:
Cita: <%
String idUsuario = request.getParameter("idUsuario");
out.println("idUsuario: " + idUsuario);
FachadaBdDoukonia conexion;
Usuarios usuario;
// Conexión a BD
conexion = new FachadaBdDoukonia ("doukonia", "localhost", "root", "root");
if(!conexion.conectar()) {
out.println("<p>ERROR: " + conexion.getDescripcionError() + "</p>");
return;
}
usuario = conexion.getUsuarioId(Integer.parseInt(idUsuario)) ;
if(usuario == null)
out.println("<p>Ha habido un error a la hora de obtener el Usuario de la BD.</p>");
else {
%>
<form id="form1" name="form1" method="post" action="insertarUsuario.jsp">
<table class="tabla" style="margin:10px auto">
<tbody>
<%-- Código de Formulario HTML con todos los campos inicializados al valor almacenado en el objeto "usuario" --%>
</tbody>
</table>
<p></p> <p></p> <p></p>
</form>
<%
}
%>
La cuestión es que en inicio2FormModificarUsuario.jsp, la línea que dice "<p> ID: <% request.getParameter("idUsuario"); %> </p>" no muestra el contenido de idUsuario, y es debido a algo que no debe estar bien en el cambio de JSP a HTML, pues 5 líneas más arriba (si miráis el código que os dejé arriba) hago lo mismo, pero dentro del JSP y usando el out.println(), y sí me muestra su valor.
Además, no llega a formModificarUsuario.jsp, ya si que no imprime los out.println() ni los <p></p> en caso de HTML.
Sé que lo que está mal son los cambios esos de JSP a HTML, pero es que es la primera vez que lo hago y no se cómo relacionar una variable que uso dentro del código JSP para poder usarla en la misma página, pero con código HTML.
¿Podéis ayudarme? Gracias.