Сохранение предыдущих данных формы - PullRequest
1 голос
/ 08 августа 2011

У меня есть форма, которую я могу разместить на одной странице, но по эстетическим соображениям я хочу разделить ее на две. При отправке исходная форма отправляется сервлету, который получает данные формы и вставляет их в базу данных. Однако я не знаю, как заставить это работать, когда оно разделено на две разные формы на двух разных страницах. Мои формы в настоящее время находятся в формате HTML, но я мог бы изменить их на JSP, если это решение. Я не хочу использовать скрытые поля; если нет способа сделать это без скрытых полей, тогда я просто поместу его на одной странице, так как в моей форме довольно много полей, а скрытые поля означают, в основном, удвоение объема кода. Я также хочу использовать только html или jsp для форм; Я не хочу использовать JavaBeans, и я хочу избежать сценариев в jsp. Я уже сделал это, просто разделив логику базы данных на две части и используя идентификатор последнего вставленного объекта в качестве скрытого поля, и вторая форма затем использует этот идентификатор для обновления этого элемента, но это не элегантное решение и может привести к проблема, если один пользователь отправил первую форму, а другой пользователь отправил вторую (неправильный элемент будет обновлен). Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 08 августа 2011
  1. Вы можете использовать разбиение на страницы javascript (это сэкономит время загрузки страницы. Многие онлайн-тестовые приложения используют этот подход) a) Либо при отправке каждой части формы данные отправляются на сервер с помощью вызова ajax.(частичная передача) b) Или все данные будут храниться на стороне клиента только до тех пор, пока вся форма не будет заполнена и успешно отправлена.(зависит от потребностей вашего приложения)

  2. Вы можете логически связать каждую часть формы с некоторой уникальной комбинацией id и идентификатора сеанса.Кроме того, если вы не хотите / не обязаны хранить данные всей формы в сеансе, вы можете иметь первичный ключ в сеансе.Это облегчит процесс обновления базы данных для второй или следующей части данных формы.

0 голосов
/ 08 августа 2011

Что ж, это одна из вещей, для которой сессия может использоваться: сохранить данные с первой страницы в HttpSession, а затем на второй странице получить данные сеанса и сохранить их в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...