我正在使用Struts2文本标记来获取翻译的值。 所以,我有以下声明:
<s:text name="a"/>
我在属性文件中没有任何键'a'
,但在操作中,我有一个名为a
的对象。
s:text呈现的值是对象实例的类名(package.a@xyz
)!
这是正常的吗?对于我对Struts2的了解,如果找不到具有该键的属性,则呈现的值将是键(文本标签名称属性)。这曾经发生在任何人身上吗?
答案 0 :(得分:1)
我认为这是正常的,因为Struts2解析OGNL表达式的属性,表达式求值的结果将用作消息键。但是文档说应该使用searchValueStack
来阻止值堆栈中的搜索。哪一个更好地决定你,但我更喜欢<s:property value="getText('a')"/>
作为替代。