Mateusz
Mazurek
Uczeń Technikum
Informatycznego.
Pasjonat technologii
web...
Temat: Data Binding w Spring 4
Cześć,mam problem. Chciałbym zamieniać mapę wartość na obiekt.
Object newObject = getClazz().getConstructor().newInstance();
BeanWrapper db = new BeanWrapperImpl(newObject);
db.setPropertyValues(values);
newObject = db.getWrappedClass();
getSession().saveOrUpdate(newObject);
getSession().refresh(newObject);
ten kod wywala mi wyjątek:
Failed to convert property value of type 'java.util.ArrayList' to required type 'java.util.List' for property 'groups';
nested exception is java.lang.IllegalStateException: Cannot convert value of type
[java.lang.String] to required type [pl.flomedia.springtpl.models.Group]
for property 'groups[0]': no matching editors or conversion strategy found
Wiem że muszę napisać jakie konwertery ale jakie? Napisałem taki:
public class StringToGroupConverter implements Converter<String, Group> {
@Autowired
private GroupService service;
public Group convert(String source) {
return service.get(Long.valueOf(source));
}
}
i dodałem go na dwa sposoby ani jeden nic nie daje:
// public ConversionService conversionService(){
// DefaultConversionService dcs = new DefaultConversionService();
// dcs.addConverter(new StringToAbstractEntityConverter());
// dcs.addConverter(new ArrayListToListConverter());
// dcs.addConverter(new StringToGroupConverter());
// return dcs;
// }
@Override
protected void addFormatters(FormatterRegistry registry) {
registry.addConverter(new StringToGroupConverter());
registry.addConverter(new ArrayListToListConverter());
registry.addConverter(new StringToAbstractEntityConverter());
}
Co źle robię?