问题描述
我正在使用下拉列表来显示给定字段的状态,但是,我无法根据区域设置的资源包填充该字段。在任何情况下,该字段都以仅英文显示。
status
通过 enum
填充到列表中,其值类似于
public enum Status{
REQUESTED(0),CANCELED(-1),VALIDATED(10),ONGOING(20),FINISHED(30);
private int intValue;
private Status(int intValue) {
this.intValue = intValue;
}
public int getIntValue() {
return intValue;
}
public void setIntValue(int intValue) {
this.intValue = intValue;
}
public String getName() {
return this.name();
}
public static Status getStatusFromEnum(int code) {
for (Status status : RackMaintenanceRequestStatus.values()) {
if (status.getIntValue() == code) {
return status;
}
}
return null;
}
public static Status getStatusFromString(String name) {
for (Statusstatus : Status.values()) {
if (status.name().equalsIgnoreCase(name)) {
return status;
}
}
return null;
}
}
我已在 ApplicationResource.properties
属性文件中为 respective fields
中的 enum
添加了翻译。
这是我的 s:select
代码:
<s:select id="requestStatus"
value="myFormBean.filterStatus"
name="myFormBean.filterStatus"
list="myFormBean.listStatus"
style="width:100%;" cssClass="form-control select2"
listKey="intValue" listValue="name" multiple="true"
size="5" />
如何根据 enum
从 Locale
动态填充值?理想情况下,我尝试使用 fmt message key
执行此操作,如下所示,但此处的 s:select
不会发生这种情况。
<fmt:message key="${name}"></fmt:message>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)