Как передать Юзера?
У меня есть задание сделать нового юзера (использую Spring Boot) и сначала я сделал через ссылку на страницу создания нового юзера, через гет запрос, контроллер ловит и передает в Model аттрибутом нового пустого юзера, а в форме уже заполняются поля, с помощью Thymeleaf и передается на пост контроллер, но когда я подключил Bootstrap там нет никакой переадресации, а просто открывается вкладка без подгрузки (видимо тут JS) и я не пойму как передать пустого Юзера, ведь гет запроса нет, все динамически, никак не могу понять как это реализовать
Ответы (1 шт):
Автор решения: Николай Гнап
→ Ссылка
Для примера
Страница регистрации
<form th:action="@{/registration}" method="post">
<lebel>Логин:</lebel>
<input type="text" name="username" class="form-control" placeholder="Логин" required />
<div>
<lebel>Пароль:</lebel>
<input type="password" name="password" class="form-control" placeholder="Пароль" required minlength="8"/>
</div>
<div>
<lebel>Фамилия:</lebel>
<input type="text" name="lastName" class="form-control" placeholder="Фамилия" required/>
</div>
<div>
<lebel>Имя:</lebel>
<input type="text" name="name" class="form-control" placeholder="Имя" required />
</div>
<div>
<lebel>Отчество:</lebel>
<input type="text" name="firstName" class="form-control" placeholder=" Отчество"/>
</div>
<div>
<lebel>email:</lebel>
<input type="email" name="email" class="form-control" placeholder="[email protected]" required/>
</div><br>
<div>
<!--/*@thymesVar id="login" type="com"*/-->
<input type="submit" th:href="${login}" value="Зарегистрироваться"class="btn btn-success btn-block"/>
</div>
</form>
</div>
Ваш контроллер
@PostMapping("/registration")
public String addUser(User user, Map<String, Object> model ){
if (!userService.addUser(user)) {
model.put("message", "User exists!");
return "/registration";
}
return "redirect:/login";
}
И UserService
public boolean addUser(User user) {
User userFromDb = userRepository.findAllByUsername(user.getUsername());
if (userFromDb != null) {
return false;
}
user.setActive(true);
Set <Role> roles = new HashSet<>();
roles.add(USER);
user.setRoles(roles);
user.setActivationCode(UUID.randomUUID().toString());
user.setPassword(passwordEncoder.encode(user.getPassword()));
userRepository.save(user);
}
return true;
}