Sruts2 <s:radio /> 带有从 .properties 文件中读取的标签

Sruts2 <s:radio /> with label read from .properties file

我正在将代码从 Struts1 迁移到 Struts2,我遇到以下情况:

<html:radio property="case" value="A" onclick="radioClickA();"/>
<bean:message key="label.A"/>

<html:radio property="case" value="B" onclick="radioClickB();"/>
<bean:message key="label.B"/> 

<html:radio property="case" value="C" onclick="radioClickC();"/>
<bean:message key="label.C"/>

由于在Struts2中我们必须在一个列表中添加所有上述三个单选按钮,我该如何为每个单选按钮添加本地化标签?

假设 ABC 为字符串:

@Getter         private String[] cases = {"A","B","C"};
        @Setter private String case;
<s:radio name = "case" 
         list = "cases"
 listLabelKey = "%{'label.' + top}" 
      onclick = "radioClick(this.value);"
/>

请注意,top 关键字仅供内部使用,

那你可以用toString(),不太优雅但坚如磐石:

<s:radio name = "case" 
         list = "cases"
 listLabelKey = "%{'label.' + toString()}" 
      onclick = 'radioClick(this.value);'
/>

我用不同的方式写过并且有效。

<s:radio theme = "simple" 
          name = "case" 
          list = "#{'A':getText('label.A'), 'B':getText('label.B'), 'C':getText('label.C')}" 
       onclick = "radioClick();" 
/>