Inserindo Texto com parágrafos

7 respostas
W

Pessoal, não sei se minha dúvida se aplica bem aqui, mas vou mandá-la, quem puder ajudar…Tenho uma aplicação em JSP que cadastra notícias em um banco. Essas notícias possuem data de expiração e, óbvio, carrego na página só as não expiradas. Quando eu cadastro a descrição da notícia em um componente TextArea(html) divido em parágrafos…um texto normal. Porém quando recupero as informações do banco para exibí-las ao usuário, o campo descrição da notícia não guarda as informações dos parágrafos, ou seja, aparece o texto todo corrido sem quebra de linhas, parágrafos nada disso. Não sei se minha dúvida é um pouco idiota, mas estou precisando resolver isso, alguém pode me ajudar ? Obrigado…

7 Respostas

cv1

Tem certeza que o campo está vindo do banco sem os devidos \n e \r?

W

No banco quando há divisão de parágrafos aparece 4 quadradinhos, então pensei que essa fosse a forma do banco guardar que naquele ponto existe um novo parágrafo, mas quando busco do banco e exibo com as tabs <%= %> ele me mostra sem paragrafos.

Bani

Não entendi muito bem se você ainda está dentro da TextArea quando exibe para o usuário, mas se não estiver, você precisa inserir tags de quebra de parágrafo. Se é simplesmente um “ir para a próxima linha” você utiliza <BR> e se você quiser um pouquinho mais espaçado utiliza <P>.
Você pode fazer um tratamento das Strings aplicando um replaceAll

cv1

AHA! Voce não está transformando as quebras de linha que o usuário digitou (\n e \r, esses quadradinhos que vc vê no banco), em quebras de linha HTML (as tags br e p). Um mero string replace aí já deve dar conta do recado :wink:

W

OK, mas a sintaxe de replace é: replace(oldchar, newchar). No meu caso o que é o oldchar, os quadradinhos ? Como represento isso? E o newchar seria “<br>” ? Pode me ajudar com isso ?

Bani

O método que você vai usar é o replaceAll(String regex,String replacement)

Exemplo:

texto = texto.replaceAll&#40;"\\n","&lt;BR&gt;"&#41;;

O \n representa o caracter de controle de quebra de linha, que aparece pra você como um quadradinho, e <BR> é simplesmente uma tag de formatação HTML.
Note que você precisa colocar uma barra a mais na expressão regular pra fazer escape da propria barra.

W

Beleza…deu certinho…valeu mesmo…obrigado !!!

Criado 21 de julho de 2003
Ultima resposta 21 de jul. de 2003
Respostas 7
Participantes 3