JSPでStruts2を使用する。次のコードは正常に動作します:Struts2の使用:getText()で変数を設定する
<s:if test="foo == bar">
<s:set var="keyValue">message.string1</s:set>
</s:if>
<s:else>
<s:set var="keyValue">message.string2</s:set>
</s:else>
<s:text name="%{keyValue}"/>
すなわち、keyValue
、message.string1
またはmessage.string2
の値に基づいて、結果のHTMLページへのリソースファイルと、正しく出力から見上げています。
<s:submit value="getText('message.string1')" ../>
問題は、私は」できることです:属性値では国際化のために、Struts tag documentationの下部に説明したように
しかし、私の代わりに私がgetText('...')
を使用する必要があり、Strutsのテキストタグを使用することはできません上記のgetText()
コールで解決された%{keyValue}
を取得してください。私が試した構文は何でも:getText('%{keyValue}')
、getText(%{keyValue})
、getText(keyValue)
、getText('keyValue')
最終的にはnullと評価されてしまいます。これは私の部分で構文エラーですか、それとも単に実行できませんか?私がしている場合は、私は戻って、それぞれの下にタグを提出して<s:if>
と<s:else>
を使用しに行くことができます知っている:
<s:if test="foo == bar">
<s:submit value="getText('message.string1')" ../>
</s:if>
<s:else>
<s:submit value="getText('message.string2')" ../>
</s:else>
...しかし、私は、可能な場合は、重複を避けるためにしたいと思います。
てみ '
' – binoternary