У меня есть пружинное приложение MVC с помощью JSP в качестве моих технологий представления с JQuery для Ajax. У меня есть таблица, такая как следующее:
<table>
<tr>
<td>name1</td>
<td>value1</td>
<td>setting1</td>
</tr>
<tr>
<td>name2</td>
<td>value2</td>
<td>setting2</td>
</tr>
</table>
Я должен сериализировать эту таблицу так, чтобы она могла позже быть связана с объектом в моем контроллере. Однако jQuery сериализирует (), метод только работает над полями формы. Каков был бы лучший подход для получения данных таблицы в Запрос HTTP так, чтобы я мог позже связать его с объектом Java?
Править:
У меня есть объект Java, который имеет набор так
class MyOject {
private List<AnotherObject> items = new ArrayList<AnotherObject>();
// standard getters and setters
}
class AnotherObject {
private name;
private value;
private setting;
// getters and setters
}
На экране пользователь создает новые объекты на лету. Когда пользователь сделан, они отправляют форму, и затем я должен обработать все объекты в списке и инстанцировать нового набора с теми объектами.
В целях дисплея я создаю новую строку таблицы, когда объект создается.
Тег — это то, как вы говорите браузеру: «Поместите этот материал в веб-запрос». Вот как вы получаете привязку объекта в Spring. По какой причине вы не используете Форму? Вам не обязательно помещать его в форму на странице, вы можете дать своим элементам таблицы идентификаторы и получить их содержимое в javascript, если вам действительно нужно.
Правка: Я думаю, что, возможно, трудно ответить, потому что неясно, почему вы хотите, чтобы браузер возвращал вам то, что вы дали ему в первую очередь. Может быть, вам действительно нужна аннотация @SessionAttributes()
на вашем контроллере, чтобы вы могли сохранить состояние исходной страницы, показанной пользователю?
Подробнее Правка:
kk, см. сейчас. Если вам нужна привязка веб-данных Spring, создайте форму параллельно по мере добавления дополнительных строк таблицы. Например,
<form id="myObject" action="whateverYouNeedHere.htm" method="post">
<input type="hidden" id="items[0].name" name="items[0].name" value="foo"/>
<input type="hidden" id="items[0].value" name="items[0].value" value="bar"/>
<input type="hidden" id="items[0].setting" name="items[0].setting" value="buzz"/>
<input type="hidden" id="items[1].name" name="items[1].name" value="foo"/>
<input type="hidden" id="items[1].value" name="items[1].value" value="bar"/>
....
Тогда просто отправьте это, и это будет связываться прямо для вас. Если бы вы хотели обработать контент самостоятельно, то вы, вероятно, могли бы использовать XHR, как кто-то еще упомянул.
для того, чтобы засунуть информацию о таблице в java-объект, вам сначала нужно отправить ее на сервер... для этого вам нужно отправить ее либо через XHR, либо в форме.
для того, чтобы сериализовать объект, вам нужно будет написать немного javascript/jquery. Я мог бы написать его для вас, но ваши требования несколько расплывчаты, когда речь идет о том, как будет выглядеть ваша таблица, и я не хочу гадать о том, как выглядит java-объект, в который вы хотите добавить свои данные.
Используйте API привязки и проверки данных Spring , чтобы привязать его к объекту Java собственной разработки. Эта документация не зависит от сети; посмотрите следующую главу, чтобы увидеть, как это используется на веб-уровне.
Полагаю, вам понадобится абстракция за пределами таблицы.