Avatar billede madsokist Nybegynder
23. marts 2001 - 13:13 Der er 11 kommentarer og
1 løsning

kontrol af tomme objekter

Med linjen:
String s11=request.getParameter(\"s11\");
får jeg erklæret en variabel s11 som henter værdien der er blevet overført fra en html form.

Der kan opstå en situation hvor der dog ikke bliver overført en værdi/parameter, hvormed jeg naturligvis modtager en fejl, da jeg rosøger at lave et dato objekt med s11 som den ene parameter.

Hvordan kan jeg kontrollere at s11 ikke er blevet sat. s11.length() duer ikke her jeg for en null-pointer fejl

Madsokist
Avatar billede disky Nybegynder
23. marts 2001 - 13:14 #1
if(s11!=null)
{
lav et eller andet
}
else
{
UPS FEJL !!!
}
Avatar billede disky Nybegynder
23. marts 2001 - 13:15 #2
Bare se om objektet referencen er NULL hvis den er det var parameteren ikke send med fra HTML siden.
Avatar billede madsokist Nybegynder
23. marts 2001 - 13:38 #3
Hej igen disky, tak for sidst :)!!

Mit udviklingsmiljø er lige nede, så jeg kan ikke lige teste det nu! jeg vender tilbage senere i dag eller på mandag

god weekend!!
Avatar billede disky Nybegynder
23. marts 2001 - 13:40 #4
selv tak.

du kan være helt sikker på det virker.

Bruger det selv :-)))
Avatar billede madsokist Nybegynder
26. marts 2001 - 11:28 #5
Hmmm, ja jeg kan godt se at det virker.... Så det er mit spørgsmål der er forkert æhh.

Vi tager en omgang kvit eller dobbelt x2!! (du skal nok få de 15 points for det første svar, men jeg har et tillægs spørgsmål)

Jeg henter s11 således:
String s11=request.getParameter(\"s11\");

Derefter aflæser jeg så om den er null (som du viste) hvis den ikke er null så vil jeg have følgende til at ske:
(s11.length() <3)

men det giver en null-pointer fejl da jeg ikke må bruge length() på et tomt objekt

har du et forslag til hvordan jeg kan udføre et tjek på s11 uden det giver mig en null pointer fejl første gang siden vises?

Det sker da den html form der indeholder s11 ligger i det samme dok som det der aflæser værdierne. problemet kan let undgået ved at splitte op i et html dok og et jsp dik. men det er en luxus jeg ikke kan tillade mig.

Avatar billede disky Nybegynder
26. marts 2001 - 11:33 #6
kom lige med koden du bruger
Avatar billede madsokist Nybegynder
26. marts 2001 - 11:34 #7
String s11=request.getParameter(\"s11\");
String s12=request.getParameter(\"s12\");
String s13=request.getParameter(\"s13\");
String s21=request.getParameter(\"s21\");
String s22=request.getParameter(\"s22\");
String s31=request.getParameter(\"s31\");
String s32=request.getParameter(\"s32\");

  dates d1 = new dates();
  Date per1 = null;
  Date per2 = null;
  Date per3 = null;
  int num =0;

if ((s11 != null) && (s12 != null) && (s13 != null))
{
  if ((s11.length() < 3) && (s12.length() < 3) && (s13.length() == 4)) per1 = d1.newDate(s11,s12,s13);
}
Avatar billede disky Nybegynder
26. marts 2001 - 11:36 #8
hmmm underligt

prøv at indsæt

System.out.println(\"s11 = \"+s11);
System.out.println(\"s12 = \"+s12);
System.out.println(\"s13 = \"+s13);

efter din første \'if\' sætning jeg godt lige at høre hvad der står i dem
Avatar billede madsokist Nybegynder
26. marts 2001 - 11:45 #9
Første gang jeg henter siden får jeg null-pointer fejlen..

Derefter går jeg frem og tilbage i browseren og det giver mig html formen at lege med hvor jeg så vælger nogle datoer og vupti er resultatet:
s11 = 4 s12 = 4 s13 = 1996
Avatar billede disky Nybegynder
26. marts 2001 - 11:48 #10
aha så ved jeg godt hvad problemmet er.

inden du forsøger at hente parameter skal du skrive:

if(request.getMethod().equals(\"POST\"))
{

din kode

}

Og den form du indtaster i skal være med \'
METHOD=\"POST\" \'

Det skulle hjælpe
Avatar billede madsokist Nybegynder
26. marts 2001 - 11:57 #11
Uiii uiii det virker!! :)

Du spørger på om metoden der er sendt med er = post og hvis ikke springer den så over... smart

tak :)

Madsokist
Avatar billede disky Nybegynder
26. marts 2001 - 11:58 #12
:-)

det glæder mig
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