Мы пытаемся сделать трехуровневую привязку:
Дедушка -> (имеет много) Родитель -> (имеет много) Ребенок
Наш дедушка и его родители сохраняются в базе данных, после чего они автоматически генерируются. Но наши дети являются новыми в некоторых случаях, и у них нет значений идентификатора.
Когда мы отправляем эту информацию через ajax на наш сервер (Weblogic), мы делаем привязку к данным, используя:
@RequestMapping(value = "/blablabla/update", method = RequestMethod.POST)
public String updateProducts(@ModelAttribute GrandFather grandpa, BindingResult result, Model model) {
...
}
В результате вы видите ошибку Bad Request в вашем браузере (используя Firebug). Мы только видим, что у ребенка нет идентификаторов, остальные значения идеальны. Вы не можете видеть ничего на стороне сервера, любой код вашего метода выполняется.
Это не будет проблемой, но это так. Есть идеи о том, что случилось?
Спасибо.
Примечание. Мы используем Spring Framework; Spring MVC; Сервер Weblogic и другие контроллеры и привязки работают.
Обновление
Используемый HTML-код:
<c:forEach items="${question.answers}" var="answer" varStatus="statusAnswer">
...
<c:forEach items="${answer.ratings}" var="rating" varStatus="statusRating">
...
<input type="hidden" name="questions[${statusQuestion.index}].id" value="${question.id}"/>
<input type="hidden" name="questions[${statusQuestion.index}].respuestas[${statusQuestion.index}].ratings[${statusRating.index}].id" value="${valoracion.id}" />
...
</c:forEach>
...
</c:forEach>
Как отправить трудно вставить здесь, есть много JavaScript, чтобы заполнить некоторые значения объектов.