1

在我的模型中,我有变量 Byte low = 0; 字节高 = 1;

现在 low 和 high 可以映射到字符串 O1 、 O2 、 O3 中的 3 个值;

例如,如果 low = 0,它可以映射到 O1,如果 1,它将映射到 O2。高也一样。

我应该如何设计我的控制器以通过 JSP 页面操作这些值。

我有 O1,O2,O3 的枚举

喜欢

enum MyEnum {
 O1(0),O2(1),O3(2) so on...
}

我想要使​​用 form:options 的下拉菜单,它将显示这三个枚举选项的低和高。

这里唯一的问题是我已经阅读了如何在 Spring MVC 表单中设置选定的值:从控制器中选择?但我无法弄清楚我的字节值将如何创建地图。我想填充这些值。

4

1 回答 1

0

首先,我认为您应该在模型中使用枚举而不是字节。您始终可以从枚举中获取字节值。还向模型类添加方法以返回枚举的字节值或字符串值。然后将此字符串值用于您的选择输入框。

你的枚举(我的假设):

public enum MyEnum {
    O1 (0),
    O2 (1),
    O3 (2);

    private final Byte byteVal;       

    private MyEnum(Byte val) {
        byteVal = val;
    }

    public Byte getByteVal(){
        return byteVal;
    }

}

你的模型(我的假设):

public class MyModel{
    MyEnum high; //instead of Byte high
    MyEnum low;//instead of Bye low
    ....
    //This method would return byte to be compatible with your backend as it is right now
    public Byte getHigh(){
        return this.high.getByteVal();
    }
    //This method would allow you to use the string representation for your front end
    public Byte getHighString(){
        return this.high.name();
    }
}

现在在你的选择框中使用你的jsp中的model.highString而不是model.high。

希望这可以帮助。

于 2013-04-08T14:11:14.380 回答