Jak zmienić właściwości zakresu sesji za pomocą ognl?
Czy można zmienić właściwości zakresu sesji za pomocąognl
?
Na przykład, jeśli w sesji mam atrybut o nazwiePROCESS_CONFIG
który jest obiektem z atrybutemname
, jak można zmienić ten atrybutname
na JSP?
Próbowałem, ale to nie działa:
<s:textfield value="%{#session.PROCESS_CONFIG.name}" id="PROCESSNAME" name="#session.PROCESS_CONFIG.name"/>
Po przesłaniu formularza i uzyskaniu dostępu do obiektu sesji w mojej akcji, przezServletActionContext.getRequest().getSession().getAttribute("PROCESS_CONFIG")
, atrybutname
nie zostało zmienione.
EDYTOWAĆ:
Obiekt zapisany w sesji jakoPROCESS_CONFIG
, jest bardzo głębokim obiektem złożonym (złożonym z licznych odniesień do innych obiektów, z listami list obiektów) i moim zdaniem chcę tylko przedstawićbardzo mały podzbiór jego atrybutów (w tym atrybuty z jego złożonych obiektów). Zanieczyszczenie mojego JSP wszystkimi ukrytymi polami jest niepraktyczne! Omawiany widok jest formą, w której można zmienić wartość tych pól i chciałbymbezpośrednio i automatycznie zaktualizuj obiekt zapisany na mojej sesji 2 struts,PROCESS_CONFIG
, jak gdybyPROCESS_CONFIG
obiekt był własnością mojej akcji. Na przykład, biorąc pod uwagę poprzedni fragment kodu,PROCESSNAME
jest atrybutemPROCESS_CONFIG
obiekt i chciałbym go automatycznie zaktualizowaćPROCESS_CONFIG
obiekt zamiast miećPROCESSNAME
właściwość mojej akcji, a następnie jawne ustawienie ustawieniaPROCESSNAME
na moimPROCESS_CONFIG
obiekt.