Session içinde varolan attribute'leri standart tag library ile okuyabilmek gayet kolaydır.
<c:set var="test" value="${domain_test}"/> yaptığımızda bütün scope'lar içinden arayarak "domain_test" objesini bulur. Hatta bu attribute'un session da olduğunu bildiğimiz için <c:set var="test" value="${domain_test}" scope="session"/> diye verirsek de olur.
Fakat benim karşılaştığım sorun da olduğu gibi eğer session'a koyduğunuz objenin isminde "nokta" varsa "c:set" yukarıda örneklerde olduğu gibi davranmıyor.
Session'a koyduğumuz objenin ismi "domain.test" olsun. Bu durumda <c:set var="user" value="domain.test" scope="session"/> şeklinde tanımlarsak tag library session'daki domain objesinin test attribute'ünü set etmeye çalışacaktır. Eğer uyanık davranıp <c:set var="user" value="'domain.test'" scope="session"/> şeklinde değiştirirseniz zaten parse hatası alacaksınız :).
Gelelim çözümüne, <c:set var="test" value="${sessionScope['domain.test']}"/>
şeklinde tanımlamamız gerekiyor.
Bu durum JSTL 1.0 için sorun oluyor olabilir. 1.1 için denemedim.
Showing posts with label session. Show all posts
Showing posts with label session. Show all posts
Monday, July 16, 2007
Subscribe to:
Posts (Atom)