0

カスタム プロパティ エディターをスプリング ハンドラーに追加しました。また、jspx ページのプロパティの 1 つでは機能しますが、他のプロパティでは機能しないため、Money クラスの toString を出力するだけです。

public void initBinder(final HttpServletRequest request, final ServletRequestDataBinder binder) {
    binder.registerCustomEditor(Money.class, new MoneyPropertyEditor());
}

また、Money 型の jspx プロパティは次のように参照されます。

<cat:input type="text" uiid="amount" bindpath="form.pack.amount"/>€

Money プロパティ エディタは次のようになります

public String getAsText() {
        String textValue = null;

        if (this.getValue() != null) {
            Money money = (Money) this.getValue();

            System.out.println("getAsText money: " + money);

            textValue = String.valueOf(money.getAmount());

            System.out.println("textValue: " + textValue);
        }

        return textValue;
    }

システム出力は次のとおりです。

getAsText money: Money:  Amount: 0.7, AsCents: 70
textValue: 0.7

そのため、プロパティ エディターが機能し、呼び出されます。しかし、入力はまだ toString 表現を保持しています:money: Money: Amount: 0.7, AsCents: 70ではありません0.7

出力カスタム プロパティ エディタを使用するには、他に何を設定する必要がありますか?

4

1 に答える 1

0

疑問が解決!実際、この場合、PropertyEditor は問題なく機能し、フィールドは後で外部 js によって変更されました。

于 2013-07-09T08:31:41.310 に答える