2017-03-07 3 views
1

代替キーを使用してリソースバンドルでローカライズされたテキストを取得するにはどうすればよいですか?Struts2 - 置換を使用してリソースバンドルから値を取得する

Iは、次のコードを試みたが、動作しない。

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

MyArrayという、文字列のペアのArrayListのであり、アレイのeatch要素は、リソース・バンドルからキーを表し、私が使用。

例:[{ "A"、 "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> 

と$ {TOP [0

global = some text with param {0} 
+0

「置換を使用する」とはどういう意味ですか? ''選択されたロケールに応じて、最も適切なバンドルの 'foo.bar'キーから値を取得するのに十分です。 –

答えて

1

あなたはSの内側にELを使用することはできません。つまり

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

:]}これを試してみてください、B、Cなど

+0

おかげで@ローマンC.それは動作します! – Ariana

0

ですtrutsのタグ属性しかし、あなたはOGNLを使うことができます。

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

同じ構文エラーを報告しましたOPの... :) –

関連する問題