Веб-разработка на Java. Урок 9. @ModelAttribute

Автор Artur Merichev
Веб-разработка на Java. Урок 9. @ModelAttribute

Всем привет.

Рад приветствовать вас на очередном уроки и сегодня мы с вами научимся отправлять и обрабатывать сетчатыми формы имени приложения были пользователи статической задаваемые и был хэндлер который отображает этих пользователей. Давай теперь будем пользователям возможность регистрировать сюда и через форму хендлер которая будет возвращать эту форму users New например — это будет возвращаться форма для пользователей её надо создать создать template что-то вроде sitemap стиль скопировать шаблон и здесь опишем какую-нибудь обычную форму убираем послать она будет users New только там уже пост то есть. Нам нужно создать отдельную хендлер для обработки этой формы вот здесь.

Давайте напишем вот что-то здесь будет метод методом уже пост очевидно и с какими полями.

То есть у нас есть пользователю вводить имя фамилия email.ru полей. Ну нам нужен нам для того чтобы эти параметры подключения забросил то есть и наемным текст и чёрные и скопированы ещё думал с чёрным или mail.ru завести почту Gmail вот и всё форма с тремя полями на носочки просто пользуйся и пока и можно его отправлять отправлять. Как будет на хинди or users New методом Post то есть вот здесь он будет обрабатываться здесь. Давайте возьмём на. Шлендер то есть нашего с формой. А здесь нам фактически отправятся три параметра и нам нужно по отдельности все обработать то есть request param. Первое — это name request param 2 — — это съемные и 3 — это имейл. Да на дисках было например 10 мы здесь 10 раз написали дать костоправа очень удобно в кавычках. Теперь давайте уже здесь. Он будет задаваться. Нет вы его унеси туда сюда тоже будет только на время жизни нашего приложения такое база данных, но тем не менее и выполнять, а просто — это будет какой-то лист пользователей изначально пустой и добавляться меню пользователя буду только через вот этого регистрацию. Здесь мы в этот список добавлять нового пользователя вот с этими параметрами давай прощать. Ну смотрите так как здесь хендлер который обрабатывает Post запрос из него не очень хорошо сразу возвращать свою. А лучше сделать редирект на с Get запросом то есть очевидно здесь отсюда хорошо переделка директору на страничку всех пользователей.. Как вы добавили чтобы там добавлено пользователем стринги сделать очень просто можно просто вот так написать в direct:. Слышь и слендерина который ты хочешь заверять вот и всё в принципе мы сделали формула отображаются и мы должны после регистрации. Заряди реакция на страничку пользователей и увидеть там себя. Давайте запустим и проверим. Открой страничку пользователей здесь нет пользователей — это видимо старые остались теперь создадим нового пользователя и. Воля всё предсказуем работать потому, что ничего сложного у нас здесь не было теперь пока, что вот в этой формы мы использовали стандартный подход тоже самое мы писали бы на сервлетах на отдельном работы параметры. Но на самом деле используют Spring — это очень некрасиво. И очень странно обрабатывать формы таким образом там что-то есть свой как обычно красивая ответ и в принципе сейчас для того чтобы сократить вот эти все три строчки и сделай всё красиво нам особо ничего не нужно делать так как у нас уже есть страничка системой формой оно заполняется в этот финдер три параметра. Но эти три параметра полностью мотаться в наших параметры нашей модели поведения которые у нас есть юзера и наверное string сможет их сам. Нам нужно только указать как-то на эту модель и такой способ есть мы можем вместо всего написать аннотацию модуль атрибут и собственно качестве параметров когда здесь пользователя чтобы делать Spring. Когда вы зависает Finder Spring увидит, что мы говорим ему. Ну, что мы хотим создать модель и заполнить её превозмог по возможности параметрами 1С запрос, а то есть Spring создает нового пользователя и при условии совпадения вот этих вот полей данным всемирной mail на интернет вывод полей нашей модели и параметров запроса он их просто. Смит и запретит все вот эти. Поля из параметров запроса всё автоматически без нашего. Единственное, что кто здесь он уже будет заполненный когда мы пойдём сюда в этот номер и мы можем просто добавить этого пользователя очень красиво и. Понятно Но для того чтобы ты работала нам нужно на самом деле немножко поменять нашу модель. Ну давайте чтобы не верить мне на слово мы — это проверим запустим. Сейчас посмотрим как работает или нет пробуем создать нового пользователя и ошибка в принципе. Давайте почитаем. Что за ошибка вот оно написано то есть не получился спирт газа создателем длина они получил. Создать пользователя потому, что они толком конструктора вот в чём собственно и изменения которые нам нужно сделать. То есть так как спринт здесь сначала создает пользователя пустого, а потом через векторы за эти параметры. Значит нам нужно добавить дефолтный конструктор. А у нас нет кто теперь Spring может создать новую модель нам надо избавиться от этих файлов. И не только — это потому, что все приватные и спринг будет задавать их сможет дать только через цифры и нам с утра нужно добавить создать он может через центр задать параметр этой модели и всё замечательно должна в этот раз работать. Давайте проверим смотрим создадим ещё одного пользователя и. Да действительно всё работает в этот раз. Здорово то есть. Надеюсь, что вам — это очень понравился. Если Вы видите. когда в первый раз я видел очередной раз удивился тому насколько Spring удобно и предусмотрительно.

0 комментариев
0

Читайте также