[jsp] setAttribute() i getRequestDispatcher()

0

Witam,

przekazuje z servletu sterowanie do strony JSP, a wraz z nim request i response. Zanim przekaze chce dodac nowy atrybut. Nie dziala kurde. Przejrzalem siec i mowia, ze dzialac powinno. Kod ponizej.

Servlet.java

 //dodanie imienia
 request.setAttribute("imie", "wacek");

 //przeslanie parametrow do JSP
 request.getRequestDispatcher("dodaj.jsp").forward(request, response);

Strona.jsp

IMIE: ${param.imie}
0

Ustawiasz atrybut request'a, a probujesz odczytac parametr.

Sprobu po prostu ${imie}, albo ew. ${requestScope.imie}

0

wtf? czemu Twoje rozwiazanie dziala? :-|

Myslalem, ze nowy atrybut jest dolaczany do reszty atrybutow requesta i powienem sie do niego odwolywac jak do reszty atrybutow.

Dzieki anyway!

0
arczi.coder napisał(a)

wtf? czemu Twoje rozwiazanie dziala? :-|

Myslalem, ze nowy atrybut jest dolaczany do reszty atrybutow requesta i powienem sie do niego odwolywac jak do reszty atrybutow.

I tak wlasnie jest. Uzywajac EL ${param.imie} odwolujesz sie do parametru requesta, czyli np. wartosci formularza przesylanego razem z zapytaniem. Natomiast atrybuty sa obiektami w pamieci, ktore sa podczepiane pod dany zakres (request, page, session, application).

Recznie parametry requesta mozesz ustawic np. tak:

<jsp:forward page="/mypage">
<jsp:param name="imie" value="janek" /> 
</jsp:forward>

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