Как я связываю данные HTML-таблицы с объектом Java в пружинном контроллере?

У меня есть пружинное приложение 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
}

На экране пользователь создает новые объекты на лету. Когда пользователь сделан, они отправляют форму, и затем я должен обработать все объекты в списке и инстанцировать нового набора с теми объектами.

В целях дисплея я создаю новую строку таблицы, когда объект создается.

1
задан 19 May 2010 в 16:28
поделиться

3 ответа

Тег

— это то, как вы говорите браузеру: «Поместите этот материал в веб-запрос». Вот как вы получаете привязку объекта в 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, как кто-то еще упомянул.

1
ответ дан 3 September 2019 в 00:27
поделиться

для того, чтобы засунуть информацию о таблице в java-объект, вам сначала нужно отправить ее на сервер... для этого вам нужно отправить ее либо через XHR, либо в форме.

для того, чтобы сериализовать объект, вам нужно будет написать немного javascript/jquery. Я мог бы написать его для вас, но ваши требования несколько расплывчаты, когда речь идет о том, как будет выглядеть ваша таблица, и я не хочу гадать о том, как выглядит java-объект, в который вы хотите добавить свои данные.

0
ответ дан 3 September 2019 в 00:27
поделиться

Используйте API привязки и проверки данных Spring , чтобы привязать его к объекту Java собственной разработки. Эта документация не зависит от сети; посмотрите следующую главу, чтобы увидеть, как это используется на веб-уровне.

Полагаю, вам понадобится абстракция за пределами таблицы.

1
ответ дан 3 September 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: