В настоящее время я пишу проект, в котором используется HTML ThymeLeaf для внешнего интерфейса и Java для внутреннего интерфейса. Я пытаюсь отобразить переменную из одного из моих классов контроллера Java на своей HTML-странице с помощью ThymeLeaf. По сути, эта переменная представляет собой имя пользователя, и она отображается только после того, как пользователь войдет в систему и будет перенаправлен обратно на главную страницу. Ошибка, которую я получаю здесь, заключается в том, что она не может разрешить имя пользователя. Итак, переменная явно по какой-то причине не читается в моем HTML-файле ThymeLeaf. Судя по тому, что я прочитал в документации ThymeLeaf, синтаксис кажется правильным. И мне сказали, что это должно работать, но по какой-то причине не работает. В любом случае, мне интересно, что вызывает эту проблему, потому что я не уверен, почему ее вообще не читают? Он продолжает сообщать мне, что не может разрешить имя пользователя, несмотря на то, что у меня есть переменная в моем классе контроллера. В коде нет ошибок, что касается моего класса контроллера. Код, опубликованный ниже, включает в себя HTML-страницу ThymeLeaf, на которой я пытаюсь отобразить имя пользователя, если пользователь входит в систему. А вторая часть — это класс контроллера для входа пользователя.
Код: Выделить всё
Auto Parts
[url=@{/login}]Login[/url]
[url=@{/about}]About Us[/url]
Welcome, User!
Код: Выделить всё
@Controller
public class LoginController {
private static final String HARDCODED_USERNAME = "Carter";
private static final String HARDCODED_PASSWORD = "Password907";
@GetMapping("/login")
public String login() {
return "login";
}
@PostMapping("/login")
public String login(@RequestParam String username, @RequestParam String password, Model model) {
if (username.equals(HARDCODED_USERNAME) && password.equals(HARDCODED_PASSWORD)) {
model.addAttribute("username", username);
return "redirect:/mainscreen";
} else {
model.addAttribute("loginError", true);
return "login";
}
}
// Mapping for mainscreen page
@RequestMapping("/mainscreen")
public String mainscreen(Model model) {
return "mainscreen"; // returns mainscreen.html
}
}
Я пытался просто отобразить переменную, не используя оператор if. И это тоже не сработало, потому что переменная почему-то не читается. Я попытался изменить имя атрибута модели, но это тоже не сработало. Ничего из того, что я делал, не помогло, и я не могу понять, почему для меня это проблема, ведь все должно работать без проблем.
Подробнее здесь:
https://stackoverflow.com/questions/787 ... e-span-tag