I have also tried the \n and I have now implemented a converter but it seems, 
that the
text.replaceAll("\n","<br/>");
Doesn't seem to work, because doing the following just prints the same result 
in both System outs.

System.out.println(text);
text = text.replaceAll("\n", "<br/>");
text = text.replaceAll("\r", "<br/>");
System.out.println(text);

Do I perhaps have to escape the \ before the \n? It's a bit curious..

Regards
Andy


-----Ursprüngliche Nachricht-----
Von: Martin Marinschek [mailto:[EMAIL PROTECTED]
Gesendet: Donnerstag, 22. Dezember 2005 18:13
An: MyFaces Discussion
Betreff: Re: AW: How to display Line breaks in Outputtext?


Sorry, \r was for my special case.

\n should be right for your case!

But definitely go with Mike's suggestion and do a converter...

regards,

Martin

On 12/22/05, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
> I have now tried to implement your code as component binding but the "\r" 
> isn't replaced and I don't know why.
> The Text is then shown like this: String\nString (Like it's in the Database - 
> no replacement has been done
>
> Here is the code:
> <h:outputText binding="#{components.outputWithBreaks}" 
> value="#{infoMessagesDto.detailmessagetext}" escape="false"/>
>
> I get the text for the Outputtext from Database.
>
> If I don't implement a component binding and just a escape="false" into the 
> outputtext (and the Outputtext has a <br/> (and not a \n or \r) in the text> 
> a carriage return is shown.
>
>
> What could be the problem?
>
> Regards,
> Andy
>
>
> -----Ursprüngliche Nachricht-----
> Von: Martin Marinschek [mailto:[EMAIL PROTECTED]
> Gesendet: Donnerstag, 22. Dezember 2005 17:30
> An: MyFaces Discussion
> Betreff: Re: AW: How to display Line breaks in Outputtext?
>
>
> Yes, of course.
>
> Thanks Mike! You are the better Santa Clause in this case ;).
>
> Even though, with a converter, you'd have to bind it to every
> component you want to treat with this special behaviour. Cause there
> is no such thing as a general string converter! With a renderer, it
> works for all instances of a component type at once...
>
> Of course, my example with a component doesn't make much sense - a
> converter would be cleaner in this case. It would make sense if you'd
> render out stuff differently depending on some other attributes of the
> component or so...
>
> regards,
>
> Martin
>
> On 12/22/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > Just speculation as I've never tried it, but wouldn't it be easier
> > (and more maintainable) (and more fashionable) to write a converter to
> > do this for you?
> >
> > After all, that's why we have converters separate from renderers....
> >
> > You could also use it for UIInputs as well.
> >
> > -Mike
> >
> > On 12/22/05, Martin Marinschek <[EMAIL PROTECTED]> wrote:
> > > HOHOHO!
> > >
> > > there you go ;)
> > >
> > > even though this is a component, but you can either use that and a
> > > component binding or copy over the code to your renderer.
> > >
> > > regards,
> > >
> > > Martin
> > >
> > > P.S.: Actually, I'm a Christkindl-believer ;)
> > >
> > > public class ComponentBean
> > > {
> > >     /**
> > >      * @return Ausgabetext mit Zeilenumbruch
> > >      */
> > >     public UIOutput getOutputWithBreaks()
> > >     {
> > >          return new OutputText();
> > >     }
> > >
> > >     /**
> > >      * OutputText wobei <br/> beim Rendern als Zeilenumbruch
> > > interpretiert wird.
> > >      */
> > >     public static final class OutputText extends HtmlOutputText
> > >     {
> > >         public OutputText()
> > >         {
> > >             super();
> > >         }
> > >
> > >         public void encodeEnd(FacesContext context) throws IOException
> > >         {
> > >             String text = RendererUtils.getStringValue(context, this);
> > >             text = HTMLEncoder.encode(text, true, true);
> > >             text = text.replaceAll("\r","<br/>");
> > >             renderOutputText(context, this, text, false);
> > >         }
> > >
> > >         public static void renderOutputText(FacesContext facesContext,
> > >                                             UIComponent component,
> > >                                             String text,
> > >                                             boolean escape)
> > >             throws IOException
> > >         {
> > >             if (text != null)
> > >             {
> > >                 ResponseWriter writer = facesContext.getResponseWriter();
> > >                 boolean span = false;
> > >
> > >                 if(component.getId()!=null &&
> > > !component.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX))
> > >                 {
> > >                     span = true;
> > >
> > >                     writer.startElement(HTML.SPAN_ELEM, component);
> > >
> > >                     HtmlRendererUtils.writeIdIfNecessary(writer,
> > > component, facesContext);
> > >
> > >                     HtmlRendererUtils.renderHTMLAttributes(writer,
> > > component, HTML.COMMON_PASSTROUGH_ATTRIBUTES);
> > >
> > >                 }
> > >                 else
> > >                 {
> > >                     span =
> > > HtmlRendererUtils.renderHTMLAttributesWithOptionalStartElement(writer,component,
> > >                             
> > > HTML.SPAN_ELEM,HTML.COMMON_PASSTROUGH_ATTRIBUTES);
> > >                 }
> > >
> > >                 if (escape)
> > >                 {
> > >                     writer.writeText(text, JSFAttr.VALUE_ATTR);
> > >                 }
> > >                 else
> > >                 {
> > >                     writer.write(text);
> > >                 }
> > >
> > >                 if(span)
> > >                 {
> > >                     writer.endElement(HTML.SPAN_ELEM);
> > >                 }
> > >             }
> > >         }
> > >
> > >     }
> > > }
> > > On 12/22/05, [EMAIL PROTECTED]
> > > <[EMAIL PROTECTED]> wrote:
> > > > Oh Yes Santa (Martin) Claus ;)
> > > > Would be great if you could send me the code. I would be terribly 
> > > > grateful if you could to that!
> > > > BIG Thx!
> > > >
> > > > Regards,
> > > > Andy
> > > >
> > > >
> > > >
> > > > -----Ursprüngliche Nachricht-----
> > > > Von: Martin Marinschek [mailto:[EMAIL PROTECTED]
> > > > Gesendet: Donnerstag, 22. Dezember 2005 16:47
> > > > An: MyFaces Discussion
> > > > Betreff: Re: AW: How to display Line breaks in Outputtext?
> > > >
> > > >
> > > > Yes, basically you'll need to do this.
> > > >
> > > > You want the code for such a thing from me?
> > > >
> > > > You'll have to nicely ask for a christmas present if you really want it 
> > > > ;)
> > > >
> > > > regards,
> > > >
> > > > Martin
> > > >
> > > > On 12/22/05, [EMAIL PROTECTED]
> > > > <[EMAIL PROTECTED]> wrote:
> > > > > So I have to write my own renderer for the Outputtext?
> > > > >
> > > > > Regards,
> > > > > Andy
> > > > >
> > > > > -----Ursprüngliche Nachricht-----
> > > > > Von: Martin Marinschek [mailto:[EMAIL PROTECTED]
> > > > > Gesendet: Donnerstag, 22. Dezember 2005 16:30
> > > > > An: MyFaces Discussion
> > > > > Betreff: Re: AW: How to display Line breaks in Outputtext?
> > > > >
> > > > >
> > > > > What you usually do is to replace the renderer of the output-text
> > > > > component - and replace all occurrences of \n with <br/> there.
> > > > >
> > > > > Plus: you need to make sure that escape="false".
> > > > >
> > > > > regards,
> > > > >
> > > > > Martin
> > > > >
> > > > > On 12/22/05, [EMAIL PROTECTED]
> > > > > <[EMAIL PROTECTED]> wrote:
> > > > > > How can I replace the \n with a <br/> on the output? By javascript?
> > > > > > Because when I write <h:outputText value="Hello<br/>World"/> It 
> > > > > > doesn't work.
> > > > > >
> > > > > > If I use the pre Tag, what can happen with the layout?
> > > > > >
> > > > > > Regards
> > > > > > Andy
> > > > > >
> > > > > > -----Ursprüngliche Nachricht-----
> > > > > > Von: Luiz Carlos Geron [mailto:[EMAIL PROTECTED]
> > > > > > Gesendet: Mittwoch, 21. Dezember 2005 14:13
> > > > > > An: MyFaces Discussion
> > > > > > Betreff: Re: AW: How to display Line breaks in Outputtext?
> > > > > >
> > > > > >
> > > > > > > So the user has to write \n hardcoded into the textarea? Isn't 
> > > > > > > there a way
> > > > > > > to recognize a Carriage Return, when the user presses the CR Key?
> > > > > > No. When you submit a form that contains a textarea, if you have 
> > > > > > typed:
> > > > > >
> > > > > > line
> > > > > > other line
> > > > > >
> > > > > > Then if you make:
> > > > > >
> > > > > > String str1 = this.getInputTextarea1
> > > > > > ().getValue().toString().replace("\n","<br>");
> > > > > >
> > > > > > You'll get "line<br>other line". Don't do this replace, since maybe 
> > > > > > you want
> > > > > > to put the value in a textarea again.
> > > > > >
> > > > > > > And I don't unterstand what you mean with the <pre> tag.
> > > > > > > Do you mean just: <pre><h:outputText value="Hello/nWorld"/></pre> 
> > > > > > > and the
> > > > > > > Text is shown as Hello
> > > > > > > World
> > > > > > >
> > > > > > > ??
> > > > > > Yes, you can also replace (on the output) the "\n" with <br>. I 
> > > > > > recommend this
> > > > > > last option, since it don't use the <pre> html tag, wich can break 
> > > > > > you
> > > > > > layout.
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > >
> > > > > http://www.irian.at
> > > > >
> > > > > Your JSF powerhouse -
> > > > > JSF Consulting, Development and
> > > > > Courses in English and German
> > > > >
> > > > > Professional Support for Apache MyFaces
> > > > >
> > > > >
> > > > > ______________________________________________________________________
> > > > >
> > > > > This email and any files transmitted with it are confidential and
> > > > > intended solely for the use of the individual or entity to whom they
> > > > > are addressed. If you have received this email in error please notify
> > > > > your system manager.
> > > > >
> > > > > This footnote also confirms that this email message has been swept
> > > > > for the presence of computer viruses.
> > > > > ______________________________________________________________________
> > > > >
> > > >
> > > >
> > > > --
> > > >
> > > > http://www.irian.at
> > > >
> > > > Your JSF powerhouse -
> > > > JSF Consulting, Development and
> > > > Courses in English and German
> > > >
> > > > Professional Support for Apache MyFaces
> > > >
> > > >
> > > > ______________________________________________________________________
> > > >
> > > > This email and any files transmitted with it are confidential and
> > > > intended solely for the use of the individual or entity to whom they
> > > > are addressed. If you have received this email in error please notify
> > > > your system manager.
> > > >
> > > > This footnote also confirms that this email message has been swept
> > > > for the presence of computer viruses.
> > > > ______________________________________________________________________
> > > >
> > >
> > >
> > > --
> > >
> > > http://www.irian.at
> > >
> > > Your JSF powerhouse -
> > > JSF Consulting, Development and
> > > Courses in English and German
> > >
> > > Professional Support for Apache MyFaces
> > >
> >
>
>
> --
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
> ______________________________________________________________________
>
> This email and any files transmitted with it are confidential and
> intended solely for the use of the individual or entity to whom they
> are addressed. If you have received this email in error please notify
> your system manager.
>
> This footnote also confirms that this email message has been swept
> for the presence of computer viruses.
> ______________________________________________________________________
>


--

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces


______________________________________________________________________

This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
your system manager.

This footnote also confirms that this email message has been swept
for the presence of computer viruses.
______________________________________________________________________

Reply via email to