2017-03-07 45 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 ... :) –