Foros del Web » Programación para mayores de 30 ;) » Java »

Incluir fragmento HTML en fichero JSP

Estas en el tema de Incluir fragmento HTML en fichero JSP en el foro de Java en Foros del Web. Hola!! Estoy intentando incluir en mi fichero JSP un fragmento HTML. Dicho fragmento es el siguiente: Cita: <%-- Buscar al Usuario por su "ID Usuario" ...
  #1 (permalink)  
Antiguo 12/08/2008, 18:51
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Incluir fragmento HTML en fichero JSP

Hola!!

Estoy intentando incluir en mi fichero JSP un fragmento HTML. Dicho fragmento es el siguiente:
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>

Lo hago usando entre las etiquetas <% %>, entre las que pongo la siguiente línea:
<jsp:include page="buscarIdUsuario.html" />

Sin embargo, me da el siguiente error:



A ver si me podéis ayudar, porque en todos los sitios de Internet dice que tengo que usar esa línea de código, pero... me da error y no entiendo el por qué.

Un saludo y muchas gracias.
  #2 (permalink)  
Antiguo 13/08/2008, 00:39
 
Fecha de Ingreso: diciembre-2007
Mensajes: 124
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Incluir fragmento HTML en fichero JSP

Es que una pagina JSP no es mas que una pagina HTML a la que se le añade codigo JAVA, el codigo java que quieras meterle va entre <% %>, el codigo html lo puedes poner libremente, solo le tienes que especificar cuando le metas codigo JAVA.

Un saludo.
  #3 (permalink)  
Antiguo 13/08/2008, 02:15
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Respuesta: Incluir fragmento HTML en fichero JSP

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:
  1. index.jsp
  2. inicioFormModificarUsuario.jsp
  3. inicio2FormModificarUsuario.jsp
  4. formModificarUsuario.jsp
  5. 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.
  #4 (permalink)  
Antiguo 14/08/2008, 17:33
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Incluir fragmento HTML en fichero JSP

¿Nadie? Sigo sin saber cómo hacerlo... Lo que encuentro en Internet no me sirve...

Muchas gracias de antemano. Un saludo!
  #5 (permalink)  
Antiguo 14/08/2008, 23:50
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Incluir fragmento HTML en fichero JSP

Hola,

Difícilmente entendí parte de tu pregunta, posiblemente... esto tenga algo que ver... de otra forma no entendí.

Cita:
Iniciado por Isdiar Ver Mensaje
Lo hago usando entre las etiquetas <% %>, entre las que pongo la siguiente línea:
<jsp:include page="buscarIdUsuario.html" />
Posiblemente te ayude este corto ejemplo.
<body>
<% x = x + 10; %> <-------- En este caso es una salida de HTML a Java.
<jsp:include page="index.jsp" /> <---- En este caso es una etiqueta de JSP y no va dentro de <%%>.
</body>

Cita:
Iniciado por Isdiar Ver Mensaje
La cuestión es que en inicio2FormModificarUsuario.jsp, la línea que dice "<p> ID: <% request.getParameter("idUsuario"); %> </p>" ...
<%= request.getParameter("idUsuario"); %>
<%= <---- el símbolo "="

Saludos,
  #6 (permalink)  
Antiguo 15/08/2008, 04:01
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Incluir fragmento HTML en fichero JSP

El error es que estas poniendo el <jsp:include..> dentro de <% %> y ha de estar fuera. Estas mezclando sintaxis JSP y Java a la vez.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #7 (permalink)  
Antiguo 15/08/2008, 15:19
Isdiar
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Incluir fragmento HTML en fichero JSP

Muchas gracias, creo que ya está solucionado. Sois unos genios.
Un saludo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:22.