Avatar billede mik28 Seniormester
13. november 2007 - 09:08 Der er 11 kommentarer og
1 løsning

smart måde at lave streng udfra getParameterValues

Hej Eksperter,

Jeg har en form med nogle checkboxes som jeg samler op.
Lige nu gør jeg sådan:

String[] cat = request.getParameterValues("cat");
  String kilde ="";
    String d="|";
 
  StringBuffer valgtekategorier = new StringBuffer();
 
  for (int i = 0; i < cat.length; i++) {
 
  if (cat.length == i+1){d="";}
  valgtekategorier.append(cat[i].toString()+d);
  }

Det skulle gerne blive til hgyuqegd|hgyuguyy|hgvuy|
Avatar billede mik28 Seniormester
13. november 2007 - 09:11 #1
hgyuqegd|hgyuguyy|hgvuy

selvfølgelig altså minus den sidste |

problemet er at 2 ting.

1. Hvis cat er tom får jeg en fejl java.lang.NullPointerException
2. Er der ikke en mere fiks måde at fjerne den sidste |
Avatar billede mik28 Seniormester
13. november 2007 - 09:42 #2
Hvis det er en getParameter gør jeg således

if (url == null) url = "fff";

men hvad når det er getParameterValues?
Hvordan tester jeg på det?
Avatar billede mik28 Seniormester
13. november 2007 - 09:46 #3
Jeg har prøvet at gøre sådan her, men uden held
if (cat.length < 1){valgtekategorier.append("alt");}
Avatar billede di8leva Nybegynder
13. november 2007 - 09:46 #4
jeg skulle nok göre det sådan her:

        String[] cat = request.getParameterValues("cat");

        StringBuffer valgtekategorier = new StringBuffer();
        for (int i = 0; i < cat.length; i++) {
            valgtekategorier.append((i > 0 ? "|" : "") + cat[i].toString());
        }
Avatar billede di8leva Nybegynder
13. november 2007 - 09:47 #5
og, du behöver ikke skrive "cat[i].toString()", cat[i] ER ju en string
Avatar billede mik28 Seniormester
13. november 2007 - 09:56 #6
cool. Hvordan fikser jeg det sådan at jeg ikke får en nullpointerexception hvis cat er tom?
Avatar billede di8leva Nybegynder
13. november 2007 - 09:57 #7
f.eks sådan her

String[] cat = request.getParameterValues("cat");

StringBuffer valgtekategorier = new StringBuffer();
if(cat != null) {       
  for (int i = 0; i < cat.length; i++) {
    valgtekategorier.append((i > 0 ? "|" : "") + cat[i]);
  }
}
Avatar billede mik28 Seniormester
13. november 2007 - 11:28 #8
Det virker altså ikke. Får stadig en nullpointerexception
Avatar billede di8leva Nybegynder
13. november 2007 - 11:44 #9
hvor får du null? hvilken linie?
Avatar billede mik28 Seniormester
13. november 2007 - 13:00 #10
Det var fordi jeg lavede en

print(cat.length);
Avatar billede mik28 Seniormester
13. november 2007 - 13:00 #11
det virker nu. Takker
Avatar billede di8leva Nybegynder
13. november 2007 - 14:24 #12
godt :)
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