Expression language

0

Mam pytanie odnośnie EL w JSP bo chyba zbyt dobrze tego nie zrozumiałem. Mianowicie. W servlecie tworze obiekt Pracownik i dodaje go jako atrybut

Parcownik tak = new Parcownik();
            
            request.setAttribute("test", tak);
            request.getRequestDispatcher("/pokaz.jsp").forward(request, response);

Klasa pracownik wygląda następująco.

public class Parcownik {
    private String Imie;
    
    public void setImie(){
        
        this.Imie = "Arkadiusz";
    }
    public  String getImie(){
        
        return this.Imie;
    }
    Parcownik(){
        setImie();
    }
}

Następnie w pliku pokaz.jsp wykonuje

${test}

Super działa. toString wypisuje. Teraz chcę odwołać się do pola Imie więc wpisuje.

${test.Imie}

No i nie działa. Z tego co zrozumiałem po wpisaniu Imie wykonuje się metoda getImie. Niestety nie działa. Zapewne coś pokręciłem. Może mi ktoś wytłumaczyć dlaczego tak się dzieje ?

1

${test.imie} musisz zrobic. Tutaj uzywane sa tzw. bean propertisy ktore sa getterami, i z tych getterow sa usuwane slowa 'get' i pierwsza literka jest robiona na mala (czasami nie, np w getURL by nie byla, ale to sa wyjatki ktore sa dobrze opisane w javadocu i specyfikacji JavaBeans).

1

http://stackoverflow.com/questions/2207406/unusual-error-while-using-expression-language-in-jsp-only-for-particular-king-of

więc prawdopodobnie musisz pisać ${test.imie}, i najlepiej to trzymaj się standardu Javy, gdzie nazwyMetodIPólKlasyPiszeSięTak

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