2017-03-07 48 views
1

如何使用替代密钥获取资源包中的本地化文本?Struts2 - 使用替换从资源包中获取价值

我尝试下面的代码,但不能工作:

<s:i18n name="global"> 
    <s:text name="${top[0]}"></s:text> 
</s:i18n> 

我使用其中myArray的是对串的一个ArrayList和阵列的eatch元素表示从资源束的关键。

例如:[{ “一”, “1”},{ “B”, “2”},{ “C”, “3”}]

<s:iterator value="#request.myArray"> 
    <tr> 
     <td> 
      <s:i18n name="global"> 
       <s:text name="${top[0]}"></s:text> 
      </s:i18n> 
      <s:property /> 
     </td> 
     </tr> 

</s:iterator> 

和$ {顶[0 ]}是A,b,C等

+0

你是什么意思“使用替代”?根据选择的语言环境,如果有的话,''足以从最有用的bundle上的'foo.bar'键检索值 –

回答

1

不能使用EL S的内部truts的标签属性。但是你可以使用OGNL。

<s:text name="%{top[0]}"></s:text> 
+0

感谢@罗曼C.它的作品! – Ariana

0

试试这个:

<s:text name="global"> 
    <s:param>${top[0]}</s:param> 
</s:text> 

其中即:

global = some text with param {0} 
+0

您报告了相同的语法错误的OP ... :) –