2014-12-16 2 views
0

Я новичок в Spring MVC, простите меня, если это есть ответSpring MVC: отображение нескольких вложенных свойств

Я следующий запрос data.test=test&data.rating=4&data.comments=test Моя модель объект

class Resp { 
    Data data; 
} 
class Data { 
    String test; 
    String rating; 
    String comments; 
} 

Я использую @ModelAttribute и все работает нормально.

Моя проблема в том, что свойства класса данных являются переменными. Оба свойства и имена свойств являются динамическими, они будут меняться во время выполнения. Я пробовал разные подходы, такие как создание setData(Map<String, String) в классе Resp. Ничего не помогло.

Заранее спасибо

Обновление: Извините забыл упомянуть ранее, хорошо или плохо, я использую объекты домена в качестве моих JPA лиц

+0

Как изменяются переменные класса. Вы используете отражение. – Panther

+0

Число свойств будет меняться. Например, запрос может быть 'data.test = test & data.rating = 4 & data.comments = test' или' data.abc = 4 & data.xyz = test' и т. Д. Тот же код должен иметь возможность обслуживать оба случая. – kranthi117

+0

Используйте 'Map' в вашем классе' Resp' вместо класса 'Data'. Удостоверьтесь, что у вас есть соответствующие геттеры/сеттеры. –

ответ

0

Вы можете просто взять HashMap как запрос или ответ весной MVC. Только изменение вместо получения paramName как поля в объекте, вы получите как ключ в Map. Точно так же он работает с Map in Response

@RequestMapping(value = "/testUrl", method = RequestMethod.POST) 
public @ResponseBody 
Map<String,String> test(
     @RequestBody Map<String,String> requestMap) { 
+0

Да, это обходной путь, который я использую сейчас. Но у него есть пара проблем. Проверка и заполнение объекта модели – kranthi117