Avatar billede ppstyle Nybegynder
18. december 2001 - 10:22 Der er 10 kommentarer og
1 løsning

Problemer med - request.getParameterValues

Jeg læser i øjeblikket en udemærket bog ved navn Java Server Pages fra O\'reilly.

Sagen er nu den, at jeg ikke kan få følgende eksempel til at virke i mit testmiljø under visual age for java ( svarer til en rigtig servlet engine ):

--------- kode start -------------


<%@ page language=\"java\" contentType=\"text/html\" %>

<html>

<body bgcolor=\"white\">

<form action=\"loop.jsp\">

    <input type=\"checkbox\" name=\"fruits\" value=\"apple\">Apple<br>   
   
    <input type=\"checkbox\" name=\"fruits\" value=\"orange\">Orange<br>

    <input type=\"checkbox\" name=\"fruits\" value=\"banana\">Banana<br>

    <input type=\"submit\" Value=\"Enter\">   

</form>

<%
String[] picked = request.getParameterValue(\"fruits\");
%>

    Following fruits were picked...

<%
    for(int i = 0; 0 < picked.length; i++){
        out.println(\"<li>\" + picked[i]);
    }
%>


</body>

</html>
--------- kode slut ----------

problemet er, at mit array picked ikke får tildelt nogle værdier overhovedet, men blot indeholder null npr jeg vil udskrive den. Men min opfattelse af request.getParameterValues er at den er en vigtig del af jsp da man jo ofte har brug for en hel række af værdier, fx. som i ovenstående checkbox eksemepl.

Håber nogen kan sige hvad problemet er.

tak - mvh. Daniel

Avatar billede erikjacobsen Ekspert
18. december 2001 - 11:16 #1
De bliver først tildelt på \"den næste side\", altså loop.jsp, når du har
trykket på knappen i formen.
Avatar billede ppstyle Nybegynder
18. december 2001 - 11:19 #2
ok, det er jeg klar over, det er min fejl jeg glemte at nævne, at det er den samme side jeg arbejder på.

Således at loop.jsp bare ændrer udseende når man trykker på enter.

-Daniel
Avatar billede erikjacobsen Ekspert
18. december 2001 - 11:20 #3
Anbringer du det hele på loop.jsp kan du erstatte det under din form med:

<%
                  if (request.getParameterValues(\"fruits\")!=null) {
                    String[]  picked = request.getParameterValues(\"fruits\");
                 
                  %>

                      Following fruits were picked...

                  <%
                      for(int i = 0; i < picked.length; i++){
                          out.println(\"<li>\" + picked[i]);
                      }
                  }
                  %>
Avatar billede ppstyle Nybegynder
18. december 2001 - 11:26 #4
ok, jeg prøver det lige.
Avatar billede ppstyle Nybegynder
19. december 2001 - 15:38 #5
Får det stadigvæk ikke til at virke :(
Måske kunne jeg lokke en af jer derude til at prøve eksemplet af, således at jeg kan se om det er Visual Ages Test miljø, der er uberegnligt.

Ihvertfald ville de bare være fedt med en forklaring.

mvh. Daniel
Avatar billede erikjacobsen Ekspert
19. december 2001 - 17:26 #6
Jeg har prøvet præcis det, som jeg skrev. Det virker da.
Avatar billede ppstyle Nybegynder
19. december 2001 - 22:34 #7
Ok, det tager jeg for gode varer, så du får dine points. Jeg går ud fra, det så er visual age testmiljø -opsætningen den er gal med.

mvh. Daniel

Avatar billede ppstyle Nybegynder
19. december 2001 - 22:35 #8
hmm, det er mærkeligt, jeg får ikke lov at give points for svar. Nu prøver jeg lige at svare selv  ( Du skal nok få dine points ).
Avatar billede ppstyle Nybegynder
19. december 2001 - 22:36 #9
Hej -> Erikjacobsen du skal da lige svare ik ?
Avatar billede erikjacobsen Ekspert
19. december 2001 - 22:38 #10
Nej, skidt med det
Avatar billede ppstyle Nybegynder
20. december 2001 - 09:35 #11
Nå men så mange tak for dit svar. Så lukker jeg den selv.


God Jul - D\' herrer mvh. Daniel
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