Spring. Теги на форме / Form Tags

max аватар
98
Находится в разделах:

В этом примере мы рассмотрим вопрос заполнения формы динамическими значениями. 

Имеется форма регистрации пользователя:

Здесь мы заполняем countryList и communityList со стороны сервера. Атрибут items держит в себе коллекцию. Атрибуты itemValue и itemLabel содержат ключи и значения соответственно. ItemLabel - это одно из того, что будет показано пользователю, а itemValue - это то, что будет передано при выборе определенного компонента. 

spring form tags

Мы используем три доменных объекта - User, Country, Community. Объект User один из объектов, ассоциированных с формой. 

Объект User содержит countryList и communityList, содержащие список стран и сообществ соответственно. 

countryList содержит список объектов Country. 

countryId используется для ссылки на страну в бек-енде, а countryName - для отображения страны на фронт-енде. 

communityList содержит список сообществ.

В нашем примере, value - одно из тех значений, которое будет отображено у клиента, а key - значение, которое будет использоваться на сервере. 

В классе контроллера необходимо переопределить метод referenceData(). В этом методе можно установить значения по умолчанию, которые должны быть загружены в момент отображения формы пользователю. 

Этот метод вызовется автоматически. 

UserService можно найти в предыдущих примерах 

User Service интерфейс

Реализация User Service

 

 

В методе referenceData() мы сперва создаем HashMap, а затем добавляем countryList и communityList в него. Этот метод будет вызван до момента отображения формы, поэтому список будет заполнен до этого. 

При запуске примера мы увидим форму регистрации пользователя. При отправке формы, будет отображена страница userSuccess.jsp.

В странице userSuccess.jsp мы используем jstl теги для отображения деталей. 


Конец
Константин Дмитриевич Ушинский склоняется к тому, что воля наша, как и наши мускулы, крепнет от постоянно усиливающейся деятельности; не давая им упражнения, вы непременно будете иметь слабые мускулы и слабую волю.

Отсутствует firststeps.spring.service.UserService

Было бы здорово если бы добавили

 

max аватар

Спасибо за исправление. 

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

НАВЕРНОЕ Я не прав но Мне хочется исследовать этот пример

Поскольку очень часто в примерах бывают провалы и никто не отвечает

то уж Мах не осерчай на вопросы невежды

Заранее благодарю

 

public class UserController extends SimpleFormController {

referenceData.put("countryList", userService.getAllCountries());

referenceData.put("communityList", userService.getAllCommunities());

 

User Service интерфейс

1    package firststeps.spring.service;
2    import firststeps.spring.domain.User;
3    public interface UserService {
4        public void add(User user);
5    }

Реализация User Service

1    package firststeps.spring.service;
2    import firststeps.spring.domain.User;
3    public class UserServiceImpl implements UserService {
4        @Override
5        public void add(User user) {
6            // Persist the user object here.
7            System.out.println("User added successfully");
8        }
9    }

 

 

max аватар

Спасибо за проявленный интерес. Все поправил. В будущем буду более тщательно проверять материал перед публикацией. 

Сам нередко сталкивался с примерами в интернете, где всегда чего-то не хватало. И, порой, материал теряет практическую ценность, так как пользователь просто не хочет тратить свое время на восстановление/поиск недостающих кусочков кода.

За оперативность отдельное спасибо

Это крайне важно

Отправить комментарий

CAPTCHA
Чтобы оставить комментарий, введите пожалуйста код, изображенный на картинке
Image CAPTCHA
Введите символы, изображенные на картинке