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 を使用してドロップダウンが必要です。これにより、これらの 3 つの列挙オプションが低と高の両方で表示されます。

ここでの唯一の質問は、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.high の代わりに model.highString を使用します。

お役に立てれば。

于 2013-04-08T14:11:14.380 に答える