Я пытаюсь привязать список / arraylist / hashmap / etc пользовательских объектов к моей форме в JSP, используя Spring. Прямо сейчас контроллер создает карту из двух списков (булевский список и список пользовательских объектов) в referenceData()
и предоставляет ее форме, которая использует эти значения для заполнения полей. Значения инициализируются из базы данных MySQL с использованием Hibernate, и все это прекрасно работает. Список имеет известную длину до инициализации формы, так что эта часть проще. Теперь я хотел бы правильно связать эти объекты в форме, чтобы при внесении изменений я мог обнаружить это в onSubmit()
(или там, где это уместно) и соответствующим образом обновить базу данных. Кажется, я не могу правильно связать их в форме, чтобы видеть сделанные изменения. Я попытался просто использовать список полей формы в качестве модели, но даже это не работало правильно. Нужно ли вводить список определенным образом? Есть идеи или примеры здесь? Любая помощь будет принята с благодарностью.
ОБНОВЛЕНИЕ: по запросу Ральфа вот решение, которое я использовал:
В своем классе объектов данных я лениво загрузил карту, используя MapUtils.lazyMap()
, с ключом String и другим значением пользовательского объекта. Другой пользовательский объект - это просто класс, который содержит List<String>
и методы получения / установки. В соответствующем файле .jsp я просто вкладываю несколько циклов для циклического переключения клавиш, сначала используя loop.current.key
, а затем loop2.current.value.paramsList
для циклического перебора значений для этого ключа. Это было не совсем то, о чем я просил в моем первоначальном посте, поскольку я искал более общее решение, и ленивая загрузка указала мне правильное направление.