0

使用 struts2 时,我可以使用 OGNL 表达式访问 struts2 标记内的会话属性,如下所示:

#session['object_key']

问题是我在不同的页面上使用这个表达式,每次硬编码那个“object_key”字符串。有什么方法可以使用任何类型的命名常量,以便我可以轻松更改用于在会话映射中存储对象的键?

4

1 回答 1

3

当然,使用静态常量;有几种方法可以解决这个问题。

默认,使用完全限定名称访问:

<s:property value="#session[@app.Constants@OBJECT_KEY]" />

有关详细信息,请参阅OGNL 基础页面中的访问静态属性。

另一个技巧是设置一个拦截器,它将一类常量推送到值堆栈上,并带有常量“看起来”的 getter。您也可以在动作中执行相同的操作,例如,可以使用基本动作类。

那么在 JSP 中所需要的就是:

${session[OBJECT_KEY]}
于 2011-11-25T14:00:20.513 回答