是否可以使用更改会话范围属性ognl
?
例如,如果我的会话中有一个名为的属性,PROCESS_CONFIG
它是一个具有属性的对象name
,那么如何name
在 JSP 上更改此属性?
我尝试了以下方法,但它不起作用:
<s:textfield value="%{#session.PROCESS_CONFIG.name}" id="PROCESSNAME" name="#session.PROCESS_CONFIG.name"/>
当我提交表单并在我的操作中访问会话对象时,通过ServletActionContext.getRequest().getSession().getAttribute("PROCESS_CONFIG")
,属性name
没有改变。
编辑:
保存在 session as 中的对象PROCESS_CONFIG
是一个非常复杂的对象(由对其他对象的大量引用组成,带有对象列表),在我看来,我只想展示其属性的一个非常小的子集(包括其属性组合对象)。所以,用隐藏的所有其他字段污染我的 JSP 是不切实际的!有问题的视图是一种可以更改这些字段的值的表单,我想直接自动更新保存在我的 struts 2 会话中的对象PROCESS_CONFIG
,就好像PROCESS_CONFIG
对象是我的操作的属性一样。例如,给定前面的代码片段,PROCESSNAME
是PROCESS_CONFIG
object 的一个属性,我想在PROCESS_CONFIG
object 中自动更新它而不是 PROCESSNAME
属性,然后必须明确地PROCESSNAME
对我的
PROCESS_CONFIG
对象进行设置。