Я пробовал BeanUtils и PropertyDescriptors, потому что у меня не было информации о классе, который был передан моему методу.Я даже не знал типы данных передаваемых свойств, поэтому установка значений стала затруднительной.Я знаю, что BeanUtils должен автоматически выполнить преобразование для свойства и установить его, но он не сохранял данные для меня.Наконец, мне пришлось рассчитывать на получение полей.Вот что я сделал:
Field[] fields = className.getDeclaredFields();
for (int i=0; i<fields.length ;i++)
{
String element = fields[i].getName();
String propertyType = fields[i].getType().getName();
fields[i].setAccessible(true);
if(propertyType.equalsIgnoreCase("java.lang.Integer"))
{
fields[i].set(mypojoObj, Integer.parseInt(parameterValue));
}
else
{
fields[i].set(mypojoObj, parameterValue);
}
}
Я сделал похожий случай переключения, чтобы преобразовать все типы свойств в правильные типы.При извлечении со страницы request.getParameter (paramname) всегда возвращал String, поэтому это преобразование сработало для меня.Любые лучшие варианты для прямого преобразования данных будут действительно полезны.