Я хотел бы реализовать обработку форм для веб-приложений. Я бы хотел реализовать PRG (post-redirect-get), так как я считаю, что это способ обработки форм (очень хорошо играет с кнопками перезагрузки и возврата). Однако я вижу, что это усложняет проверку.
В основном, когда вы публикуете, у вас есть состояние формы (в качестве параметров публикации). Однако, если вы проверяете и перенаправляете обратно в форму, вы теряете свое состояние формы (ваше перенаправление - это GET; вы можете закодировать все параметры формы в GET, но это не всегда возможно из-за ограничений длины URL. Кроме того, это выглядит уродливый как ад).
Я думаю о следующем:
- Пользователь в форме представления (
/addUserDetails.html
)
- POST для URL действия (
/addUser
)
/addUser
выполняет соответствующее действие. Если происходит сбой, он сохраняет состояние формы, присваивает ему идентификатор и перенаправляет на представление формы, используя идентификатор в качестве параметра get (/addUserDetails.html?state=2313ab2
)
- Представление проверяет состояние и отображает соответствующую информацию
В зависимости от того, как вы сохраняете состояние формы, вы также можете разрешить пользователю продолжать работать с формой, даже если его браузер зависает или происходит что-то плохое.
Мысли? Кроме того, существует ли какая-либо веб-инфраструктура Java, которая делает это или может быть принуждена к выполнению этого?