RES: [javasf] Re: h:outputtext + <br/> + \r\n = Pulando linha

1,288 views
Skip to first unread message

Jose Maria de Oliveira

unread,
Mar 4, 2009, 10:59:17 AM3/4/09
to jav...@googlegroups.com

Ou senão: h:outputText escape=”true”

 

[]s,

 


DTS Consulting

José Maria Oliveira
Desenvolvedor

Tel.: 55 (11) 4134-9698 
Fax: 55 (11) 4134-9610


Projetos Outsourcing Tecnologia

 


De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Tiago Augusto Nogueira Coelho
Enviada em: quarta-feira, 4 de março de 2009 07:53
Para: jav...@googlegroups.com
Assunto: [javasf] Re: h:outputtext + <br/> + \r\n = Pulando linha

 

Existe uma classe e uma arquivo xml do facelets. Para isso funcionar crie um jar com a estrutura abaixo:

br.ufmg.lcc.function,TextAreaFormat
META-INF/
      lcc.taglib.xml


Classe

package br.ufmg.lcc.function;

import org.apache.commons.lang.StringUtils;

public class TextAreaFormat {

    /**
     * Transforma os caracteres de \n, quebra de linha em <br/> para ser exibido
     * de forma correta quando for um outputText.
     *
     * @param texto texto do textArea.
     * @return texto formatado
     */
    public static String textAreaFormat(String texto) {
        return StringUtils.replace(texto, "\n", "<br/>");
    }

}

Arquivo do Facelets

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE facelet-taglib PUBLIC
  "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
  "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
<facelet-taglib xmlns="http://java.sun.com/JSF/Facelet">
    <namespace>http://lcc.ufmg.br/lcc</namespace>

    <function>
        <function-name>textAreaFormat</function-name>
        <function-class>br.ufmg.lcc.function.TextAreaFormat</function-class>
        <function-signature>java.lang.String textAreaFormat(java.lang.String)</function-signature>
    </function>
   
</facelet-taglib>


Tiago Augusto Nogueira Coelho

unread,
Mar 4, 2009, 12:22:19 PM3/4/09
to jav...@googlegroups.com
Lembrando para usar a função que eu postei, deve ser usar h:outputText escape=”false”

Jose Maria de Oliveira

unread,
Mar 4, 2009, 12:30:36 PM3/4/09
to jav...@googlegroups.com

Tiago, me corrija se eu estiver enganado:

 

Acho que não precisa da função que você passou; é só colocar h:outputText escape=”false”.

 

 

 


DTS Consulting

José Maria Oliveira
Desenvolvedor

Tel.: 55 (11) 4134-9698 
Fax: 55 (11) 4134-9610


Projetos Outsourcing Tecnologia

 


De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Tiago Augusto Nogueira Coelho
Enviada em: quarta-feira, 4 de março de 2009 14:22
Para: jav...@googlegroups.com
Assunto: [javasf] Re: h:outputtext + <br/> + \r\n = Pulando linha

 

Lembrando para usar a função que eu postei, deve ser usar h:outputText escape=”false”


Thiago Diogo

unread,
Mar 4, 2009, 1:25:52 PM3/4/09
to jav...@googlegroups.com
Thiago,

como eu usaria em uma tela, desculpa se a pergunta é de novato, mas nunca fiz uma função no facelets. Desde já agradeço!

Abraço!

2009/3/4 Jose Maria de Oliveira <jose.o...@dtsconsulting.com>



--
Sds, Thiago Diogo - SOA is Lifestyle!

Tiago Augusto Nogueira Coelho

unread,
Mar 4, 2009, 2:06:23 PM3/4/09
to jav...@googlegroups.com
@José Maria
No meu caso não daria. Eu leio o campo do BD que tem apenas /n/r. Eu preciso converter isso para <br/> e exibir na tela. A minha Tag faz isso pega a string, transforma os /n/r para <br/>

@Thiago Diogo

Adicione no seu cabecelho do facelts a parte em negrito

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:rich="http://richfaces.org/rich"
    xmlns:a4j="http://richfaces.org/a4j" xmlns:lcc="http://lcc.ufmg.br/lcc">

Adicione na sua página xhtml algo parecido com o código abaixo, lembrando de troccar para sua propriedade.

Em negrito, um outputText normal, azul a minha tag sendo usada e em verde a sua propriedade que contem os /n/r

<h:outputText value="#{lcc:textAreaFormat(anuncioMB.anuncio.descricao)}" escape="false" />

Thiago Diogo

unread,
Mar 4, 2009, 2:32:17 PM3/4/09
to jav...@googlegroups.com
Valeu meu chará!

Abraço!

2009/3/4 Tiago Augusto Nogueira Coelho <tiagoa...@gmail.com>

Tiago Augusto Nogueira Coelho

unread,
Mar 5, 2009, 6:08:48 AM3/5/09
to jav...@googlegroups.com
Lembrando que se você preferir, pode mudar o http://lcc.ufmg.br/lcc para qualquer nome, desde que altere o nome tb no arquivo lcc.taglib.xml.

Recomendo você mudar o nome para alguma coisa do seu projeto ou empresa, e para as futuras funções ou tags utilizar esse esquema já pronto.

Abraço

Thiago Diogo

unread,
Mar 5, 2009, 6:14:15 AM3/5/09
to jav...@googlegroups.com
ehhehehe

Por acaso trabalho na UFF(Universidade Federal Fluminense) desenvolvendo o sistema acadêmico daqui e vi que o seu é da UFMG ehehhehe Que mundo pequeno!
Vou mudar para br.uff ehehhehe

Valeu!

Abraço!

2009/3/5 Tiago Augusto Nogueira Coelho <tiagoa...@gmail.com>

Lembrando que se você preferir, pode mudar o http://lcc.ufmg.br/lcc para qualquer nome, desde que altere o nome tb no arquivo lcc.taglib.xml.

Recomendo você mudar o nome para alguma coisa do seu projeto ou empresa, e para as futuras funções ou tags utilizar esse esquema já pronto.

Abraço


Tiago Augusto Nogueira Coelho

unread,
Mar 5, 2009, 7:49:35 AM3/5/09
to jav...@googlegroups.com
É verdade eu trabalho na UFMG, e bacana isso em? Mundo pequeno mesmo.

2009/3/5 Thiago Diogo <thiag...@gmail.com>
Reply all
Reply to author
Forward
0 new messages