я впервые здесь пишу, так как не смог разобраться в проблеме, имейте ввиду, что я довольно новичок в Spring и не очень хорош в Java и кодировании в целом.
Я пытаюсь запрограммировать серверное приложение на Java Spring, где вы можете создавать разные учетные записи с определенными ролями. Я хочу, чтобы мои пользователи могли видеть сообщение об успехе или ошибке на той же странице, если создание учетной записи прошло успешно или не удалось.
Сейчас я использую error.param th: if tag из https://spring.io/guides/gs/securing-web/
конкретный код в моем HTML-файле:
<div id="error" th:if="${param.error}">
Benutzername existiert bereits.
</div>
<div id="success" th:if="${param.success}">
Das Konto wurde erfolgreich erstellt.
</div>
Что работает, когда я вручную ставлю «успех» или «ошибка» за своим URL.
Я сопоставляю свой POST с базой данных этим методом:
@PostMapping("/create/lieferant/fahrer")
public String submitDriver(@ModelAttribute Driver driver){
if(userRepository.existsByUsername(driver.getUsername())){
return "create/lieferant/fahrer?error";
}
Driver d = new Driver();
User n = new User();
Role r = new Role();
d.setName(driver.getName());
d.setTelnum(driver.getTelnum());
d.setUsername(driver.getUsername());
n.setUsername(driver.getUsername());
n.setPassword(encoder().encode(driver.getPassword()));
r.setUsername(driver.getUsername());
r.setAuthority("LIEFERANT");
userRepository.save(n);
driverRepository.save(d);
roleRepository.save(r);
return "create/lieferant/fahrer?success";
}
Идея состоит в том, чтобы проверить, зарегистрировано ли уже имя пользователя и, если да, вернуть ошибку create / lieferant / fahrer ?, но там указано
Ошибка при разрешении шаблона "create / lieferant / fahrer? Error", шаблон
может не существовать или может быть недоступен для любого из настроенных
Шаблон резолверов
и то же самое для? Успеха.
Чего я не понимаю, так это: он работает для входа в систему, который я получил из руководства по началу работы с Spring, и, похоже, работает без каких-либо тяжелых настроек или чего-то подобного. По крайней мере, я не вижу.
Я был бы рад, если бы кто-нибудь мог помочь мне разобраться в моей проблеме.
Большое спасибо.