首页 > 解决方案 > 在 s:select 下拉列表中使用动态值,基于 Struts 2 中区域设置的资源包

问题描述

我正在使用下拉列表来显示给定字段的状态,但是,我无法根据locale 的资源包填充该字段。无论如何,该字段仅以英文显示。

是通过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>

标签: javajspstruts2dropdownognl

解决方案


推荐阅读