Pergunta

Qual seria a expressão EL direito em JSP para ter uma nova linha ou <br/> do HTML? Aqui está o meu código que não funciona e render com '\ n' no texto.

<af:outputText value="#{msg.TCW_SELECT_PART_ANALYSIS}\n#{msg.TCW_SELECT_PART_ANALYSIS2}"/>
Foi útil?

Solução

Uma vez que você quiser <br /> saída, basta fazer:

<af:outputText value="#{msg.TCW_SELECT_PART_ANALYSIS}<br />#{msg.TCW_SELECT_PART_ANALYSIS2}" escape="false" />

O escape="false" atributo está lá para evitar o <br /> sendo escapou-HTML.

Você pode até mesmo exibir as duas mensagens em separar as etiquetas e colocar o <br /> em texto simples entre eles.

<af:outputText value="#{msg.TCW_SELECT_PART_ANALYSIS}" />
<br />
<af:outputText value="#{msg.TCW_SELECT_PART_ANALYSIS2}" />

Se você ainda está em JSF 1.1 ou mais, então você precisa para embrulhar HTML simples em <f:verbatim> como:

<f:verbatim><br /></f:verbatim>

Outras dicas

Se você quer uma nova linha no navegador, então você precisa colocar "<br/>" no texto. O navegador irá então interpretá-la corretamente. Ele não entende \ n.

Como sobre: ??

<af:outputText value="#{msg.TCW_SELECT_PART_ANALYSIS}"/>
<af:outputText value="#{msg.TCW_SELECT_PART_ANALYSIS2}"/>

(i. Dividir o valor e colocar o caractere desejado entre os dois)?

Escrever uma função personalizada que chama este pedaço de código:

import java.util.StringTokenizer;

public final class CRLFToHTML {

    public String process(final String text) {

        if (text == null) {
            return null;
        }

        StringBuilder html = new StringBuilder();

        StringTokenizer st = new StringTokenizer(text, "\r\n", true);

        while (st.hasMoreTokens()) {
            String token = st.nextToken();

            if (token.equals("\n")) {
                html.append("<br/>");
            } else if (token.equals("\r")) {    
                // Do nothing    
            } else {    
                html.append(token);    
            }
        }

        return html.toString();

    }

}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top