Рубрики
Без рубрики

Использование скрытых входов с пружиной и листом тимьяна

Узнайте, как использовать скрытые входы с помощью Thymeleaf.

Автор оригинала: Michael Pratt.

1. введение

Thymeleaf – один из самых популярных движков шаблонов в экосистеме Java. Это позволяет нам легко использовать данные из наших Java-приложений для создания динамических HTML-страниц.

В этом уроке мы рассмотрим несколько способов использования скрытых входов с помощью Spring и Thymeleaf.

2. Thymeleaf с HTML-формами

Прежде чем мы рассмотрим работу со скрытыми полями, давайте сделаем шаг назад и посмотрим, как Thymeleaf работает с HTML-формами в целом.

Наиболее распространенным вариантом использования является использование HTML-формы, которая напрямую сопоставляется с DTO в нашем приложении .

Например, предположим, что мы пишем приложение для блога и у нас есть DTO, представляющий одну запись в блоге:

class BlogDTO {
    long id;
    String title;
    String body;
    String category;
    String author;
    Date publishedDate;  
}

Мы можем использовать HTML-форму для создания нового экземпляра этого с помощью Thymeleaf и Java:

Обратите внимание, что поля в нашем блоге-посте сопоставляются с одним вводом в HTML-форме. Это хорошо работает в большинстве случаев, но какие поля не должны быть доступны для редактирования? Вот где могут помочь скрытые входы.

Например, каждая запись в блоге имеет уникальное поле идентификатора, которое пользователям не должно быть разрешено редактировать. Используя скрытые входные данные, мы можем передать поле идентификатора в HTML-форму, не позволяя ему отображаться или редактироваться .

3. Использование атрибута th:field

Самый быстрый способ присвоить значение скрытому входу-использовать атрибут th:field :

Это самый простой способ, потому что нам не нужно указывать атрибут value, но он может не поддерживаться в более старых версиях Thymeleaf .

4. Использование атрибута th:attr

Следующий способ использования скрытых входов с Thymeleaf-это использование встроенного атрибута th:attr :

В этом случае мы должны ссылаться на поле id с помощью объекта blog .

5. Использование атрибута name

Другой менее подробный подход заключается в использовании стандартного атрибута HTML name :

Он полагается исключительно на стандартные атрибуты HTML. В этом случае мы также должны ссылаться на поле id с помощью объекта blog .

6. Заключение

В этом уроке мы рассмотрели несколько способов использования скрытых входов с Thymeleaf. Это полезный метод для передачи полей только для чтения из наших DTO в HTML-формы.

Как всегда, все примеры кода, используемые в этом учебнике, можно найти на Github .