Avatar billede df_n Nybegynder
20. marts 2002 - 20:24 Der er 11 kommentarer og
1 løsning

String på flere linier i jsp

Hvordan kan jeg når der i min String er linebreaks skrive dem ud med disse linebreaks, så der på siden bliver vist flere linier?
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 20:25 #1
Du kan erstatte linieskift med "<br>"
Avatar billede pingeling1000 Nybegynder
20. marts 2002 - 20:26 #2
Du kan benytte \n som linebreak.

"12\n34"
bliver til
12
34
Avatar billede pingeling1000 Nybegynder
20. marts 2002 - 20:27 #3
ups, jeg havde vist misforstået spm...
Avatar billede kama Nybegynder
20. marts 2002 - 20:35 #4
Kan du ikke bruge <pre></pre> ?
Avatar billede df_n Nybegynder
20. marts 2002 - 20:35 #5
er der ikke noget i selve jsp tingen der kan erstatte <br> for mig.

jeg er ikke meget for at skulle til at proppe StringTokenizer i mine jsp sider da jeg helst skulle have "så lidt" java som muligt, da det ikke er mig der laver designet
Avatar billede disky Nybegynder
20. marts 2002 - 20:36 #6
Brug denne metode til det:

    final static char textCRLF='\n';
    final static String htmlCRLF="<br>";

    public static String nl2br(String in)
    {
        StringBuffer out=new StringBuffer(in);
        int len=in.length();
        for(int x=0;x<len;x++)
        {
            if(out.charAt(x)==textCRLF)
            {
                out.replace(x,x+1,htmlCRLF);
                x+=4;
            }
        }
        return out.toString();
    }

Den gør netop det for dig.
Avatar billede disky Nybegynder
20. marts 2002 - 20:36 #7
Der findes ikke en indbygget metode til det.

Men den metode jeg lige har postet gør det for dig.
Avatar billede df_n Nybegynder
20. marts 2002 - 20:37 #8
hey <pre> virker tak...
kan du ikke lige "svare"
Avatar billede kama Nybegynder
20. marts 2002 - 20:39 #9
OK
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 21:22 #10
I 1.4 kan (bør?) du nok bruge regulære udtryk. Sådan ca.:

String s = "en lang\nstreng\nmed linieskift\n";

Pattern p = Pattern.compile("\\n");
Matcher m = p.matcher(s);
s=m.replaceAll("<br>");

System.out.println(s);
Avatar billede disky Nybegynder
20. marts 2002 - 22:32 #11
nu bad du udtrykkeligt at UDSKRIVE dem med html linebreaks, det gør <pre> ikke, please spørg om det du ønsker.
Avatar billede erikjacobsen Ekspert
20. marts 2002 - 22:34 #12
han spørger da ikke om html linebreaks
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester