Struts 2文本标签奇怪的行为

时间:2014-10-29 19:30:13

标签: java jsp struts2 resourcebundle ognl

我正在使用Struts2文本标记来获取翻译的值。 所以,我有以下声明:

<s:text name="a"/>

我在属性文件中没有任何键'a',但在操作中,我有一个名为a的对象。

s:text呈现的值是对象实例的类名(package.a@xyz)!

这是正常的吗?对于我对Struts2的了解,如果找不到具有该键的属性,则呈现的值将是键(文本标签名称属性)。这曾经发生在任何人身上吗?

1 个答案:

答案 0 :(得分:1)

我认为这是正常的,因为Struts2解析OGNL表达式的属性,表达式求值的结果将用作消息键。但是文档说应该使用searchValueStack来阻止值堆栈中的搜索。哪一个更好地决定你,但我更喜欢<s:property value="getText('a')"/>作为替代。