Avatar billede giendr Nybegynder
19. oktober 2005 - 12:22 Der er 20 kommentarer

ArrayList i JSP

Hvordan får jeg lagt brugerens "ønsker" ind i ArrayListen, så hver gang brugeren taster et nyt ønske ind, kommer det frem på browser siden. Lige nu bliver ønske 0 bare skiftet ud når et nyt ønske indtastes.

Her er koden:

<%@ page language="java" import="java.util.ArrayList" import="java.util.*" contentType="text/html;charset=windows-1252"%>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Ønskeseddel</title>
  </head>
  <body>
    <h3>Skriv hvad du ønsker dig</h3>
    <form>
      <input type="text" name="oenske"/></form>
<%
    // hent listen over ønsker
  ArrayList ønsker = (ArrayList) session.getAttribute("ønsker");

    if (ønsker == null) // hvis listen ikke findes:
    {                     
    ønsker = new ArrayList();  // opret den
    session.setAttribute("ønskeliste", ønsker);  // og registrer den under "ønsker"
    }

    String ønske = request.getParameter("oenske");
   
    if(ønske!=null)
    {
    ønsker.add(ønske);
    }
  if(ønsker.size()>0)
    {
    %>
    Her er alle dine ønsker:<br><br>
    <%
    for (int i = 0; i < ønsker.size(); i++)
    {%>
  Ønske nr. <%=i%>:  <%=ønsker.get(i)%><br>
    <% 
    }
    }
    %><br><br>
   
  <%-- Denne sides URL er: <%=request.getRequestURL()%> --%>
  </body>
</html>
Avatar billede mikkelgroth Nybegynder
19. oktober 2005 - 13:12 #1
Du lægger listen ind under "ønskeliste" men henter den under "ønsker", derfor altid null og derfor ny liste med nyt element.

Mikkel
Avatar billede arne_v Ekspert
19. oktober 2005 - 15:02 #2
<jsp:useBean id="wishes" class="java.util.ArrayList" scope="session"/>

er rigtig god til at undgå den slags problemer
Avatar billede giendr Nybegynder
19. oktober 2005 - 15:34 #3
Jeg kan åbentbart ikke læse bogstaverne æ, ø, å på min skærm når jeg er i "Eksperten", så jeg har svært ved at læse hvad du skriver. Har du et bud på om jeg skal flytte rundt på noget, eller lave en anden navngivning?
Avatar billede mikkelgroth Nybegynder
19. oktober 2005 - 15:44 #4
session.setAttribute("ønskeliste", ønsker);  // og registrer den under "ønsker"
    til
session.setAttribute("ønsker", ønsker);  // og registrer den under "ønsker"
Avatar billede mikkelgroth Nybegynder
19. oktober 2005 - 15:46 #5
og skift evt ønsker til oensker i både get og set!
Avatar billede giendr Nybegynder
19. oktober 2005 - 15:57 #6
Det hjalp desværre ikke. Hvad mener du helt præcist med "og registrer den under ønsker"??
Avatar billede mikkelgroth Nybegynder
19. oktober 2005 - 16:14 #7
session.setAttribute("ønskeliste", ønsker);  // og registrer den under "ønsker"

øhhh det er din egen kommentar!!!!
Avatar billede mikkelgroth Nybegynder
19. oktober 2005 - 16:17 #8
har du prøvet at droppe danske tegn?
Avatar billede mikkelgroth Nybegynder
19. oktober 2005 - 16:22 #9
Borset fra det, så er dette vel et snip af koden ikke???

for ellers skal du havde noget i din form og en submit fætter!!!
Avatar billede giendr Nybegynder
19. oktober 2005 - 16:22 #10
Det ville nok være en god ide at droppe danske tegn.

Selvom jeg har erstattet "ønskeliste" med "ønske" er det stadig sådan, når jeg indtaster et nyt ønske, så erstatter det det gamle ønske, istedet for at tilføje det som ønske nr. 2
Avatar billede giendr Nybegynder
19. oktober 2005 - 16:25 #11
Du har fået al koden (undtagen en "Ønske" klasse med set og get metoder)

Jeg prøver med en submit knap. men det burde ikke gøre nogen forskel hvis man bruger enter på tastaturet
Avatar billede mikkelgroth Nybegynder
19. oktober 2005 - 16:32 #12
PAS PÅ
Du skriver "Selvom jeg har erstattet "ønskeliste" med "ønske" er det stadi.."
IKKE "ønske" men "ønsker"

Mikkel
Avatar billede mikkelgroth Nybegynder
19. oktober 2005 - 16:42 #13
Jeg har testet det virker fint hvis du bare skifter "ønskeliste" til "ønsker"

:-) Mikkel
Avatar billede mikkelgroth Nybegynder
19. oktober 2005 - 16:48 #14
<%@ page language="java" import="java.util.ArrayList" import="java.util.*" contentType="text/html;charset=windows-1252"%>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Ønskeseddel</title>
  </head>



  <body>
    <h3>Skriv hvad du ønsker dig</h3>
    <form>
      <input type="text" name="oenske"/></form>
<%
    // hent listen over ønsker
  ArrayList oensker = (ArrayList) session.getAttribute("oensker");

    if (oensker == null) // hvis listen ikke findes:
    {                   
    oensker = new ArrayList();  // opret den
    session.setAttribute("oensker", oensker);  // og registrer den under "ønsker"
    }

    String oenske = request.getParameter("oenske");
 
    if(oenske!=null)
    {
    oensker.add(oenske);
    }
  if(oensker.size()>0)
    {
    %>
    Her er alle dine ønsker:<br><br>
    <%
    for (int i = 0; i < oensker.size(); i++)
    {%>
  Ønske nr. <%=i%>:  <%=oensker.get(i)%><br>
    <%
    }
    }
    %><br><br>
 
  <%-- Denne sides URL er: <%=request.getRequestURL()%> --%>
  </body>
</html>
Avatar billede giendr Nybegynder
19. oktober 2005 - 17:58 #15
Det er meget mystisk, for nu har jeg prøvet at kopiere det du lige har sendt, og jeg får stadig kun ønske 0 frem. Det næste ønske jeg taster ind umiddelbart efter (når siden stadig er oppe) erstatter det sidste.

Kan du i samme billede taste alle de ønsker ind du vil lige efter hinanden i samme billede, så de efterhånden bliver tilføjet listen??
Avatar billede mikkelgroth Nybegynder
20. oktober 2005 - 09:35 #16
Skriv hvad du ønsker dig
Her er alle dine ønsker:

Ønske nr. 0: 5675756
Ønske nr. 1: wewew
Ønske nr. 2: ddfsdfsdf
Ønske nr. 3: ddfsdfsdf
Ønske nr. 4: ddfsdfsdf
Ønske nr. 5: ddfsdfsdf
Ønske nr. 6: ddfsdfsdf
Ønske nr. 7: ddfsdfsdf
Ønske nr. 8: ddfsdfsdf
Ønske nr. 9: ddfsdfsdf
Ønske nr. 10: ddfsdfsdf
Ønske nr. 11: ddfsdfsdf
Ønske nr. 12: ddfsdfsdfddfffff
Ønske nr. 13: ddfsdfsdfddfffff
Avatar billede mikkelgroth Nybegynder
20. oktober 2005 - 09:38 #17
Slet evt. work biblioteket i tomcat (Hvis det er den du bruger selvfølgelig)
Avatar billede mikkelgroth Nybegynder
20. oktober 2005 - 11:14 #18
<%@ page language="java" import="java.util.ArrayList" import="java.util.*" contentType="text/html;charset=windows-1252"%>
<jsp:useBean id="oensker" class="java.util.ArrayList" scope="session"/>
<%
        if (oensker == null){                   
            oensker = new ArrayList();
        }
        if (request.getParameter("slet") != null){                   
            oensker.clear();
        }
        String oenske = request.getParameter("oenske");
        if(oenske!=null && request.getParameter("slet") == null){
            oensker.add(oenske);
        }
%>
<html>
      <head>
            <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
            <title>Ønskeseddel</title>
      </head>
    <body>
        <h3>Skriv hvad du ønsker dig</h3>
            <form>
                  <input type="text" name="oenske"/> <input type="submit" name="opdater" value="Opdater"/>
                  <input type="submit" name="slet" value="Slet alt!"/>
        </form>
        <% if(oensker.size()>0){ %>
                Her er alle dine ønsker:<br><br>
            <% for (int i = 0; i < oensker.size(); i++){ %>
                  Ønske nr. <%=i%>:  <%=oensker.get(i)%><br>
            <% } %>
        <% } %>
      </body>
</html>
Avatar billede mikkelgroth Nybegynder
20. oktober 2005 - 11:16 #19
...med Arnes linie!
<jsp:useBean id="oensker" class="java.util.ArrayList" scope="session"/>
og en slet alt
Avatar billede giendr Nybegynder
28. oktober 2005 - 18:25 #20
Hej igen

Jeg har været på ferie, så jeg har ikke været på eksperten siden den 19.

Tak for det du har sendt. Jeg kan se du har taget det med session ud inde af koden. Jeg har prøvet både med og uden session, og det bliver ved med at være ønske nr. 0. Så prøvede jeg at kopiere dit og køre det, men det gav samme resultat. Jeg har jo en java klasse med get og set metoder - har det nogen betydning?
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