2012-08-10 725 views
6

Cuando paso una cadena java a mi servlet, el servlet pasa esa cadena al jsp.Al agregar " n" a Java String, la nueva línea no se presenta en un JSP pero en stdin

La cadena tiene nombres & direcciones con una nueva línea "\ n", pero cuando estoy tratando de presentar que en la pantalla, veo una línea completa, sin embargo en la consola se presenta la nueva línea.

He aquí una instantánea: Primera enter image description here Segunda enter image description here En tercer lugar: desde la consola

enter image description here

alguna idea de cómo resolver esto?

Saludos

Respuesta

20

En HTML, caracteres de nueva línea son tratados como espacios, y múltiples espacios se muestran como un único espacio. Si desea pasar a la línea siguiente, debe transformar los caracteres de nueva línea en <br />, o adjuntar su texto dentro de un bloque <pre></pre>.

+0

¿Puedo poner eso en el String que (el 'br') construyo antes de enviarlo al servlet? –

+0

sí, puedo :) ¡gracias! –

+6

Puedes, pero sería horrible. El código de acceso a la base de datos no debe manejar problemas relacionados con HTML. En lugar de devolver un String, el método debería devolver un objeto o una lista de objetos (con un nombre, apellido y campos de dirección), y el JSP debería mostrar las propiedades de esos objetos según sea necesario (es decir, separados por '
'. No mezcle la lógica de presentación con la lógica de la base de datos, y viceversa. De esta forma, si desea usar tablas en lugar de líneas nuevas, la lógica de la base de datos no se modificará. Solo el JSP. –

Cuestiones relacionadas