JSP (Java Server Page) - Problemas con salto de línea en JSP

 
Vista:

Problemas con salto de línea en JSP

Publicado por Ricardo (5 intervenciones) el 05/09/2008 12:50:41
Tengo un JSP con la siguientes instrucciones:

<% System.out.println(incidencias.getDescripcion()); %>
<div><%=incidencias.getDescripcion() %></div>

donde incidencias.getDescripcion() me devuelve el contenido del campo "Descripción" (de tipo TEXT) de una tabla en MySQL. Cuando lo presento en el navegador no me respeta el salto de línea (no me crea la etiqueta <br /> entre párrafo y párrafo) y todo el contenido del campo aparece junto.

Sin embargo, si utilizo la instrucción System.out.println(incidencias.getDescripcion() para comprobar cómo escribe el contenido en el servidor compruebo que sí me respeta los saltos de línea... ¿A qué puede deberse esto?

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con salto de línea en JSP

Publicado por Ricardo (5 intervenciones) el 06/09/2008 04:13:29
Saludos

Bueno, cuando escribes System.out.println(incidencias.getDescripcion()) y compruebas que en este caso sí respeta los saltos de línea, lo que está pasando es que al coger los datos directamente de la BD (sin que pase por la JSP) dicha instrucción los muestra tal y como están en la BD. En cambio cuando se utiliza en la JSP como has indicado:

<% System.out.println(incidencias.getDescripcion()); %>
<div><%=incidencias.getDescripcion() %></div>

lo que va ha ocurrir es que como bien sabes al ejecutar el script, el contenido es convertido a HTML para poder ser mostrado, y aquí puede estar ignorándose los espacios entre los párrafos debido a los "caprichos" del HTML, recuerda que para forzar la generación de espacios en blanco se usa < >, aunque es raro porque en este caso no quieres espacios en blanco sino la línea de espacio entre párrafos.

Por último te digo que con la instrucción:
<% System.out.println(incidencias.getDescripcion()); %>

no lograrás reparar ello, porque lo usual es usarla varias veces, por ejemplo:

<% System.out.println(alumnos.getId()); %>
<% System.out.println(alumnos.getApe()); %>
<% System.out.println(alumnos.getNom()); %>
<% System.out.println(alumnos.getEdad()); %>

creando datos separados, c/u en su línea aparte. Espero haber ayudado en algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con salto de línea en JSP

Publicado por Ricardo (5 intervenciones) el 06/09/2008 04:20:57
Saludos

Bueno, cuando escribes System.out.println(incidencias.getDescripcion()) y compruebas que en este caso sí respeta los saltos de línea, lo que está pasando es que al coger los datos directamente de la BD (sin que pase por la JSP) dicha instrucción los muestra tal y como están en la BD. En cambio cuando se utiliza en la JSP como has indicado:

<% System.out.println(incidencias.getDescripcion()); %>
<div><%=incidencias.getDescripcion() %></div>

lo que va ha ocurrir es que como bien sabes al ejecutar el script, el contenido es convertido a HTML para poder ser mostrado, y aquí puede estar ignorándose los espacios entre los párrafos debido a los "caprichos" del HTML, recuerda que para forzar la generación de espacios en blanco se usa < >, aunque es raro porque en este caso no quieres espacios en blanco sino la línea de espacio entre párrafos.

Por último te digo que con la instrucción:
<% System.out.println(incidencias.getDescripcion()); %>

no lograrás reparar ello, porque lo usual es usarla varias veces, por ejemplo:

<% System.out.println(alumnos.getId()); %>
<% System.out.println(alumnos.getApe()); %>
<% System.out.println(alumnos.getNom()); %>
<% System.out.println(alumnos.getEdad()); %>

creando datos separados, c/u en su línea aparte. Espero haber ayudado en algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar