我有一个表格,我已经为我的对象的浮点数注册了 CustomNumberEditor。
@InitBinder
public void initBinder(WebDataBinder binder){
NumberFormat numberFormat = NumberFormat.getInstance();
binder.registerCustomEditor(Float.class, new CustomNumberEditor(Float.class, numberFormat, true));
}
我有一个 ajax 控制器方法来更新表单的一部分(它只返回一个更新的 html 片段)所以在控制器中我做这样的事情:
public String retrieveFormSection(@PathVariable("id") String id, Model model) {
...
model.addAttribute("myObject", myObject);
return "myJSP";
}
在那个 JSP 中,我只想使用编辑器打印一些数据:
<input type="text" value="${myObject.myNumber}"/>
由于 myObject 没有作为 @ModelAttribute 对象放置,因此编辑器不用于它。有没有办法将编辑器注册到我添加到模型中的对象的字段中?也许不应该为此使用编辑器,因为这样我只使用了编辑器的 getAsText() 方法,而不是在 setAsText() 中。我应该为此使用另一个 Spring 功能吗?
谢谢。