Объектно-ориентированное программирование. Лекция 9

Содержание

Слайд 2

План @RequestMapping для Controller класса Spring MVC форма input Spring MVC

План

@RequestMapping для Controller класса
Spring MVC форма input
Spring MVC форма select
Spring MVC

форма radio button
Spring MVC форма checkbox
Валидация форм Spring MVC
Слайд 3

@RequestMapping для Controller класса Аннотацию @RequestMapping, которую мы ранее применяли для

@RequestMapping для Controller класса

Аннотацию @RequestMapping, которую мы ранее применяли для метода:
Можно

использовать и для контроллера, следующим образом:
Слайд 4

@RequestMapping для Controller класса Результат

@RequestMapping для Controller класса

Результат

Слайд 5

@RequestMapping для Controller класса @RequestMapping, который мы пишем над классом называется

@RequestMapping для Controller класса

@RequestMapping, который мы пишем над классом называется Controller

Mapping
@RequestMapping, который мы пишем над методом называется Method Mapping
Слайд 6

Spring MVC форма input Создадим класс Employee, он понадобится для работы с формами

Spring MVC форма input

Создадим класс Employee, он понадобится для работы с

формами
Слайд 7

Spring MVC форма input Теперь модифицируем метод askEmployeeDetails

Spring MVC форма input

Теперь модифицируем метод askEmployeeDetails

Слайд 8

Spring MVC форма input Прежде чем переходить к модификации ask-emp-details-view рассмотрим

Spring MVC форма input

Прежде чем переходить к модификации ask-emp-details-view рассмотрим формы

Spring MVC.
form:form – основная форма, содержащая в себе другие формы. Это форма-контейнер.
form:input – форма, предназначенная для текста (однострочная).
Слайд 9

Spring MVC форма input Обратите внимание, что при отображении данной страницы

Spring MVC форма input

Обратите внимание, что при отображении данной страницы сработают

геттеры для каждого поля, поскольку объект был создан конструктором без аргументов, в них будет null (в Salary 0)
Слайд 10

Spring MVC форма input После нажатия на submit формы – сработают

Spring MVC форма input

После нажатия на submit формы – сработают сеттеры

и данные будут записаны в объект.
Слайд 11

Spring MVC форма input Модифицируем второй метод, showEmployeeDetails

Spring MVC форма input

Модифицируем второй метод, showEmployeeDetails

Слайд 12

Spring MVC форма input Теперь изменим view

Spring MVC форма input

Теперь изменим view

Слайд 13

Spring MVC форма input Результат:

Spring MVC форма input

Результат:

Слайд 14

Spring MVC форма input Если возникают проблемы с кодировкой при отображении результатов, можно применить:

Spring MVC форма input

Если возникают проблемы с кодировкой при отображении результатов,

можно применить:
Слайд 15

Spring MVC форма input encodingFilter org.springframework.web.filter.CharacterEncodingFilter forceEncoding true encoding UTF-8 encodingFilter /*

Spring MVC форма input

<%@ page language="java" pageEncoding="UTF-8"%> <%@ page contentType="text/html;charset=UTF-8" %>
encodingFilter

org.springframework.web.filter.CharacterEncodingFilter forceEncoding true encoding UTF-8 encodingFilter /*
Слайд 16

Spring MVC форма input

Spring MVC форма input

Слайд 17

Spring MVC форма input При работе с формами, аннотация @ModelAttribute в

Spring MVC форма input

При работе с формами, аннотация @ModelAttribute в параметре

метода контроллера дает доступ к конкретному атрибуту модели.
Слайд 18

Spring MVC форма input Мы также можем работать с полученным объектом:

Spring MVC форма input

Мы также можем работать с полученным объектом:

Слайд 19

Spring MVC форма select form:select – форма, предназначенная для реализации выпадающего списка

Spring MVC форма select

form:select – форма, предназначенная для реализации выпадающего списка


Слайд 20

Spring MVC форма select Результат:

Spring MVC форма select

Результат:

Слайд 21

Spring MVC форма select Чтобы не создавать hardcoded значения, можно модифицировать класс:

Spring MVC форма select

Чтобы не создавать hardcoded значения, можно модифицировать класс:

Слайд 22

Spring MVC форма select Используем это во view

Spring MVC форма select

Используем это во view

Слайд 23

Spring MVC форма radio button form:radiobutton – форма, предназначенная для реализации

Spring MVC форма radio button

form:radiobutton – форма, предназначенная для реализации radio

button (переключатель)
Добавим в класс новое поле
Слайд 24

Spring MVC форма radio button View:

Spring MVC форма radio button

View:

Слайд 25

Spring MVC форма radio button Результат:

Spring MVC форма radio button

Результат:

Слайд 26

Spring MVC форма checkbox form:checkbox – форма, предназначенная для реализации checkbox

Spring MVC форма checkbox

form:checkbox – форма, предназначенная для реализации checkbox

Слайд 27

Spring MVC форма checkbox view:

Spring MVC форма checkbox

view:

Слайд 28

Spring MVC форма checkbox Результат:

Spring MVC форма checkbox

Результат:

Слайд 29

Валидация форм Spring MVC Повторение: JPA (Java Persistence Api) – стандартная

Валидация форм Spring MVC

Повторение:
JPA (Java Persistence Api) – стандартная спецификация, которая

описывает систему для управления сохраниением Java объектов в таблицы БД.
JPA описывает правила, а Hibernate реализует.
Слайд 30

Валидация форм Spring MVC По такому же принципу: Java Standard Bean

Валидация форм Spring MVC

По такому же принципу:
Java Standard Bean Validation Api

– стандартная спецификация, которая описывает правила валидации.
Hibernate Validator – реализация правил, описанных в данной спецификации.
Слайд 31

Валидация форм Spring MVC Подключаем зависимость:

Валидация форм Spring MVC

Подключаем зависимость:

Слайд 32

Валидация форм Spring MVC Подключаем зависимость:

Валидация форм Spring MVC

Подключаем зависимость:

Слайд 33

Валидация форм Spring MVC Подключаем зависимость: org.hibernate hibernate-validator 6.1.0.Final

Валидация форм Spring MVC

Подключаем зависимость:
org.hibernate hibernate-validator 6.1.0.Final

Слайд 34

Валидация форм Spring MVC @Size – размер поля должен быть между указанными границами

Валидация форм Spring MVC

@Size – размер поля должен быть между указанными

границами
Слайд 35

Валидация форм Spring MVC Результат:

Валидация форм Spring MVC

Результат:

Слайд 36

Валидация форм Spring MVC Можно добавить стиль:

Валидация форм Spring MVC

Можно добавить стиль:

Слайд 37

Валидация форм Spring MVC Аннотация @NotNull

Валидация форм Spring MVC

Аннотация @NotNull

Слайд 38

Валидация форм Spring MVC Запускаем, но ошибка не выводится и можно

Валидация форм Spring MVC

Запускаем, но ошибка не выводится и можно продолжать

без фамилии. Почему так происходит?
Слайд 39

Валидация форм Spring MVC Это связано с тем, что surname не

Валидация форм Spring MVC

Это связано с тем, что surname не null,

а пустая строка и необходима другая аннотация
Слайд 40

Валидация форм Spring MVC Но данную аннотацию можно обойти поставив несколько

Валидация форм Spring MVC

Но данную аннотацию можно обойти поставив несколько пробелов
Если

необходимо предусмотреть эту ситуацию, можно использовать аннотацию
Слайд 41

Валидация форм Spring MVC Но данную аннотацию можно обойти поставив несколько

Валидация форм Spring MVC

Но данную аннотацию можно обойти поставив несколько пробелов
Если

необходимо предусмотреть эту ситуацию, можно использовать аннотацию
Слайд 42

Валидация форм Spring MVC @Min – числовое значение должно быть меньше

Валидация форм Spring MVC

@Min – числовое значение должно быть меньше или

равно указанному параметру
@Max – числовое значение должно быть больше или равно указанному параметру
Слайд 43

Валидация форм Spring MVC Результат:

Валидация форм Spring MVC

Результат:

Слайд 44

Валидация форм Spring MVC Добавим поле телефонный номер

Валидация форм Spring MVC

Добавим поле телефонный номер