public void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) {
NumberFormat nf = NumberFormat.getNumberInstance();
// convert java.lang.Integer
binder.registerCustomEditor(Integer.class, null, new CustomNumberEditor(
Integer.class,
nf,
true));
// convert java.util.Date
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, null, new CustomDateEditor(dateFormat, true));
// convert java.lang.Integer
// Note: setting null in CustomNumberEditor means no format is
// used in print an Integer (Otherwise, if NumberFormat is
// used, a comma will be inserted in the number for Integer > 1000
binder.registerCustomEditor(Integer.class, null, new CustomNumberEditor(
Integer.class,
null,
true));
// convert java.lang.Double
binder.registerCustomEditor(Double.class, null, new CustomNumberEditor(
Double.class,
nf,
true));
// convert java.lang.Long
binder.registerCustomEditor(Long.class, null, new CustomNumberEditor(Long.class, nf, true));
// files
binder.registerCustomEditor(byte[].class, null, new ByteArrayMultipartFileEditor());
}