¿Cómo cambiar las propiedades del ámbito de sesión usando ognl?
¿Es posible cambiar las propiedades del alcance de la sesión usandoognl
?
Por ejemplo, si tengo en mi sesión un atributo llamadoPROCESS_CONFIG
que es un objeto con un atributoname
, ¿cómo se puede cambiar este atributo?name
en un JSP?
He intentado lo siguiente pero no funciona:
<s:textfield value="%{#session.PROCESS_CONFIG.name}" id="PROCESSNAME" name="#session.PROCESS_CONFIG.name"/>
Cuando envío el formulario y accedo al objeto de sesión en mi acción, a través deServletActionContext.getRequest().getSession().getAttribute("PROCESS_CONFIG")
, el atributoname
no ha cambiado.
EDITAR:
El objeto guardado en sesión comoPROCESS_CONFIG
, es un objeto complejo muy profundo (compuesto por numerosas referencias a otros objetos, con listas de listas de objetos) y, en mi opinión, solo quiero presentar unsubconjunto muy pequeño de sus atributos (incluidos los atributos de sus objetos compuestos). Entonces, ¡no es práctico contaminar mi JSP con todos los demás campos como ocultos! La vista en cuestión es un formulario donde se puede cambiar el valor de esos campos y me gustaríadirecta y automáticamente actualizar el objeto guardado en mi sesión de struts 2,PROCESS_CONFIG
, como siPROCESS_CONFIG
El objeto era una propiedad de mi acción. Por ejemplo, dado el fragmento de código anterior,PROCESSNAME
es un atributo dePROCESS_CONFIG
objeto y me gustaría actualizarlo automáticamente enPROCESS_CONFIG
objeto en lugar de tener unaPROCESSNAME
propiedad en mi acción y luego tener que hacer explícitamente la configuración dePROCESSNAME
en miPROCESS_CONFIG
objeto.