La Web del Programador: Comunidad de Programadores
 
    Pregunta:  17440 - MéTODO GETSTRING DE JAVA
Autor:  Jesús Barajas O.
Hola, estoy haciendo una consulta a un campo de tipo memo a una base de datos en Access. El resultado de la consulta lo asigno a una variable por medio del método getString con el siguiente código:

String sAbst = resultadoSelect.getString("ABST");

y necesito presentar el valor de la variable 'sAbst' en una tabla de una página Web utilizando HTML con el código:

out.println("<td>" + sT + "</td>");

En el cuerpo del campo memo estoy incluyendo los caracteres \r para obtener un retorno de carro entre párrafos, pero al momento de presentar el valor de la variable, el texto aparece en un solo bloque sin los saltos de carro (\r lo reconoce como texto ordinario).

También si defino una variable: String sT="\nAbs 1\r\nAbs 2";
y la visualizo con: System.out.println(sT); si presenta el salto de carro, pero si la visualizo con: out.println("<td>" + sT + "</td>"); no presenta el salto de carro.

¿Por favor, alguien podría orientarme sobre que puedo hacer para poder obtener estos saltos de carro? Muchas gracias.

  Respuesta:  Jesús Barajas
Muchas gracias por sus respuestas. Si, haciendo algunas pruebas me di cuenta del funcionamiento de las sentencias <td> y <p> de html y lo resolví mas o menos de esta manera. Reemplacé el '\r' por un '|', leo cada caracter la de la cadena y lo voy concatenando con el siguiente dentro de la variable hasta que encuentra un '|'.

Todo esto dentro de un ciclo que me permite colocar la variable dentro de los <td> </td> de html cada vez que encuentra un '|' y de esa manera voy construyendo los párrafos.

  Respuesta:  David Olivan Ubieto
Aver, el HTML no controla los retornos de carro con caracteres especiales como C y JAVA ('\r', '\n') sino con etiquetas propias como <br>, asi que recorre las String y cuando veas un retorno de carro, sustituyelo por <BR>.

  Respuesta:  Exequiel Sepúlveda
El HTML busca para hacer el salto <br> o <p>, según corresponda.
Entonces una alternativa es reemplazar los \r por <br>.

Otra alternativa es colocar el contenido entre los tag <pre>, que colocan el texto tal cual es:

out.println("<td><pre>" + sT + "</pre></td>");