Java Bean - Dlaczego dodaje tylko 1 wartość do HashMap?

Odpowiedz Nowy wątek
2011-11-19 00:16
0

Witam

Dlaczego aplikacja dodaje tylko 1 wartość do HashMap?
I jak to poprawić.

index.jsp:


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <jsp:useBean id="NumerLista" class="Numer.NumerLista" />
        <h1>java bean test</h1>
        <form action="NumerDane.jsp">
        Podaj numer: <input type="text" name="numer" value="numer">
        <input type="submit">
        </form>

        <!-- <= NumerLista.addNumer("") > -->
        <!-- % NumerLista.addNumer("text1"); %> -->
        <% int i = NumerLista.showSizeList(); %>
        Lista zawiera: <% out.print(i); %> numerów
    </body>
</html>

NumerDane.jsp:


<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <jsp:useBean id="NumerLista" class="Numer.NumerLista" />
        <% String s = request.getParameter("numer");
            NumerLista.addNumer(s);
            int licz = NumerLista.showSizeList();
            int war = NumerLista.showLicznik();
            out.println("Lista zawiera: " + licz + " pozycji");
            out.println("Teraz dodałeś: " + s);
            out.println("Wartość licznika: " + war);
        %>
    </body>
</html>

public class NumerLista {
    private String numer;
    private int licznik = 0;
    private static HashMap numery;
    static{
    numery = new HashMap();
    }
    public void addNumer(String numer){
        numery.put(licznik, this.numer);
        licznik++;
    }

    public int showSizeList(){
        return numery.size();
    }

    public int showLicznik(){
        return licznik;
    }
}

Pozdrawiam

edytowany 2x, ostatnio: vall75, 2011-11-19 00:18

Pozostało 580 znaków

2011-11-19 07:19
bo

Nie podałeś zakresu i każde wejście tworzy ziarno na nowo.

jsp:useBean id="NumerLista" class="Numer.NumerLista" scope="session"/>
Dla potomnych, powinno być "zasięgu", a nie "zakresu". - bogdans 2011-11-19 09:05

Pozostało 580 znaków

2011-11-19 10:37
0
bo napisał(a)

Nie podałeś zakresu i każde wejście tworzy ziarno na nowo.

jsp:useBean id="NumerLista" class="Numer.NumerLista" scope="session"/>

Dokładnie.

Dziękuję :-)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0