我已将自定义属性编辑器添加到 spring 处理程序。它适用于 jspx 页面上的属性之一,但不适用于其他属性,因为它只输出 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"/>€
金钱属性编辑器看起来像
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 respresentation:money: Money: Amount: 0.7, AsCents: 70
而不是0.7
还应该配置什么以便使用输出自定义属性编辑器?