Sruts2 <s:radio>标签从.properties文件读取

时间:2015-11-19 06:58:49

标签: java jsp struts2 radio-button struts-tags

我正在将代码从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中我们必须在一个列表中添加上述三个单选按钮,如何为每个单选按钮添加本地化标签?

2 个答案:

答案 0 :(得分:2)

假设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关键字仅供内部使用,为和its usage might be inhibited in future versions of Struts
然后你可以使用toString(),不那么优雅但坚如磐石:

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

答案 1 :(得分:1)

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

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