Struts 2 条带 OGNL 的动态消息
Struts 2 Dynamic message with OGNL
在 Struts 2 项目中,考虑消息资源中的以下键:
export.filename.accountsummary=customer ${export}
此操作已 export
提交 setter 和 getter。
如果你调用 getText("export.filename.accountsummary")
struts 将自动调用 getExport()
并用正确的值填充它。 (我认为 struts 也使用 OGNL 查找与 ${}
认可的资源消息)这是正确的吗?!
我尝试使用 customer ${#sessionScope.CurrentUser.userName}
预期 struts 使用此 OGNL 表达式,但它没有用。
变量 sessionScope
似乎在上下文中不可用(如果您没有手动输入)。不要将它与 JSP 会话范围变量搞混(语法类似于 JSP 中用于 EL 的语法,但 Struts2 不使用 JSP EL 引擎), OGNL 表达式中的所有内容都根据 OGNL 上下文进行评估。可以在messages中使用${}
语法,Struts解析其OGNL表达式的值,该语法定义表达式的作用域,去掉${}
后求值。
我发现 vale 堆栈中已经有了 #session
的会话,所以
${#session.['CurrentUser'].farsiFirstName}
${#session.CurrentUser.farsiFirstName}
工作正常。
在 Struts 2 项目中,考虑消息资源中的以下键:
export.filename.accountsummary=customer ${export}
此操作已 export
提交 setter 和 getter。
如果你调用 getText("export.filename.accountsummary")
struts 将自动调用 getExport()
并用正确的值填充它。 (我认为 struts 也使用 OGNL 查找与 ${}
认可的资源消息)这是正确的吗?!
我尝试使用 customer ${#sessionScope.CurrentUser.userName}
预期 struts 使用此 OGNL 表达式,但它没有用。
变量 sessionScope
似乎在上下文中不可用(如果您没有手动输入)。不要将它与 JSP 会话范围变量搞混(语法类似于 JSP 中用于 EL 的语法,但 Struts2 不使用 JSP EL 引擎), OGNL 表达式中的所有内容都根据 OGNL 上下文进行评估。可以在messages中使用${}
语法,Struts解析其OGNL表达式的值,该语法定义表达式的作用域,去掉${}
后求值。
我发现 vale 堆栈中已经有了 #session
的会话,所以
${#session.['CurrentUser'].farsiFirstName}
${#session.CurrentUser.farsiFirstName}
工作正常。