如何将变量传递给 s:text?

How to pass a variable to s:text?

首先,我不是经验丰富的 Struts 用户。这是我的 struts 代码:

<s:set var="foo" value="BAR">

<s:text name="key.for.foo">
    <s:param><s:property value="foo" /></s:param>
</s:text>

这是包含 key.for.foo 文本值的属性文件:

key.for.foo=blah blah {0}

我期待以下文字:

blah blah BAR

但我明白了

blah blah

我错过了什么?

你可以试试下面的代码

<s:text name="key.for.foo"><s:param value="#foo"/></s:text>

<s:set /> 变量的用法包含在 tag documentation's example:

 <s:set var="personName" value="person.name"/>
 Hello, <s:property value="#personName"/>

简而言之,Value Stack 有多种查找方式:压入堆栈的内容(例如,操作本身,<s:push /> 属性),servlet 上下文中的内容(例如,会话和请求 attributes/properties),以及命名对象(例如,<s:set /> 对象,<s:iterator /> 状态值)。