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中我们必须在一个列表中添加所有上述三个单选按钮,我该如何为每个单选按钮添加本地化标签?
假设 A
、B
、C
为字符串:
@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();"
/>
我正在将代码从 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中我们必须在一个列表中添加所有上述三个单选按钮,我该如何为每个单选按钮添加本地化标签?
假设 A
、B
、C
为字符串:
@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();"
/>