Веб-разработка на Java. Servlet filters. FreeMarker custom macro.

Автор Nadezhda Belousova
Веб-разработка на Java. Servlet filters. FreeMarker custom macro.

Всем привет на этом уроке мы научимся добавлять фильтры в приложении и научимся писать качественные матрасы freemarker матрасы начнём с фильтр зачем они нам вообще могут понадобиться вспомним, что фильтры — это объекты на которые идут ещё Java Enterprise Edition то есть фильтры осуществляют preprocessing то есть мы можем фильтра повесить также на такую равна примерно стоят и сначала фильтр обработать запрос возможно передаст Processing ещё другого фильтру, а уже потом всё в этом случае со спиннингом хендлеру Controller Data preprocessing запросов — это в принципе похоже на спект да то есть.

Аспект У нас например вызывается бефор. Аспект может вызываться до вызова какого-то другого метода и то же самое фильтр может называться как бы да вызвала какого-то конкретного хендлера и так с принтом тоже предоставляет возможность добавлять фильтры и между прочим вся spring-security реализована на фильтрах Toyota Sprinter которые проверяют если у кого-то каких-то мьюзеров доступ к этим страницам или нет. И так далее просто мы его не видим вот как бы под капотом и посмотрим.

Зачем он нам нужен смотрите.

Я использовал всегда латинские символы. Давайте посмотрим, что будет если я буду использовать русские символы пример русское имя попробую создать такого пользователя странным именем зайдём и. Вот как оно отображается. То есть фактически наши русские символы они только державкой который использовался дефолту не обрабатывались и получилось вот такой вот не. То есть у нас в базе данных сохранился пользователь вот с таким именем, а нам нужно как-то заставить использовать кодировку utf-8 до который поддерживает нормально русские символы и самый удобный способ для — это во-первых нужна только квартира у меня там как нужно там настолько квартиру показать, что там какую газировку нужно ему использовать ну так у всех может быть разным. Фермер то — это не буду делать я покажу этого не нужно есть вот в нашем главном рыба пониже лазером есть возможность выбирать какой метод который называется Get servlet filters здесь мы можем все фильтры которые мы хотим использовать и мы хотим в данном случае использовать фильтр который применялся ко всем контроллером хендлером и который бы инфо правильную кодировку utf-8 чтобы она наши русские символы отображались корректно и. Давайте просто добавим фильтр который уже есть нам не надо ничего — это оценка идёт charset характера или как там — это называется картинка ли фильтр который принимает по-моему два параметра можно принимать от encoding и Force encoding булевское значение. То есть encoding у нас UTair 8А в картинка водяных труб то есть мы хотим портить чтобы принял с кодировкой utf-8 потому, что мы ходим. Вот и мы по сути написали прошу. Мы хотим использовать такой фильтр когда для всех наших инженеров если мы приложение то всё должно быть корректным. Ну конечно тот пользователь которому уже добавили он корректно отображаться не будет потому, что мы уже сохранили в. Кривой кодировке. Вот, а если мы создадим нового пользователя создадим нового пользователя так. Зайнаб Давайте ещё раз создадим. И вот пожалуйста кодировка использовать правильно готовить 8 и соответственно корректно сохранилось более корректно отображается нашей странице сосед вот такой юзкейс например как можно использовать уже можно переопределять образом какой-нибудь интерфейс писать свои фильтры на ткани нужно, но вы понимаете, что — это первое, что я хотел в этом уроке покрыть из непокрытого. А и также. Давайте посмотрим будущем такую вещь у нас есть freemarker template и ведем разных странах есть регистрация. У нас есть логин, но у нас есть страничка страничка у нас здесь нету никакие повторяющиеся фрагменты на этом ещё не используя никаких скрипты там всякие библиотеки которые были сделаны примером портились. Да точно ответить млн есть какой-то и вводим мы вроде у нас. Танос отличаются только будет по сути есть вот здесь вот видео боди есть здесь будет я вот и мы можем написать. мы используем такие вот макросы которые уже встроены. Да и всякие такие конструкции можно стать собственным актов которые так определял бы дефолтные глаза у нашей страничке то есть он потом определилась система или хедер и вводе вставлял бы просто то есть мы бы во всех компонентах использовали стандартной телефон template и указывали бы только то, что нужно положить в воде потому, что всё остальное одинаковая. Я уже набросал такое template вернее макро макро он называется то есть мы объявляем макрос пишу просто макро — это имя макро — это Main. То есть как бы главное template здесь параметры которого передать мы будем скажем только у нас у каждого свой то будем передавать этот тайтл. Здесь просто какие-то базовая фигня там до кодировки для пилинга страниц здесь мы используем этот параметр которого мы. Передаем — это тайтл — это ещё моей страничке который у нас у всех страниц разной и в воде. Мы в макрос который мы будем определять в каждой страничке отдельно контент собственно этот макрос. Теперь нужно. Ну допустим вот. Давайте страничку регистрации. Да кто из прежде всего надо импортировать его то есть мы импортируем макрос Mount and Blade он называется Main. А у нас отвезёт в моем template да то есть мы импортировали макрос матери. СБС куда. Значит мы импортировали этот макрос изменить template. А как мы им и теперь нам нужно.

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

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