У меня есть форма:
<form action = "user-fonts" method = "post" ">
<select >
<#list fonts as font>
<option value=${font}>${font.nameFont?ifExists}</option>
</#list>
</select>
<input type = "hidden" name = "_csrf" value = "${_csrf.token}" />
<div><input type = "submit" value = "Sign In"/></div>
</form>
Как получить значение в контроллере, которое я выбрал в форме?
@RequestMapping("/user-fonts")
public class MainController{
@GetMapping
public String main(@AuthenticationPrincipal User user, Model model)
{
Set<DBFont> fonts = user.getFont();
model.addAttribute("fonts", fonts);
return "Myfonts";
}
@PostMapping
public String mainPost(@ModelAttribute DBFont DBfont)
{
System.out.println(DBfont.getNameFont());
return "redirect:/user-fonts";
}
В базе есть значение, но я получаю null, как вернуть значение?




Вам необходимо определить атрибут name для вашего выбора, например nameFont:
<select name = "nameFont">
Это отправит выбранное значение шрифта как параметр POST nameFont.
Почему все возвращается ко мне в NULL, кроме имени ?? ((
@crazy_deviL вы можете открыть новый вопрос с подробностями?
Я написал новый вопрос
@crazy_deviL добро пожаловать, вы можете проголосовать за ответ, если сочтете его полезным, см. stackoverflow.com/help/someone-answers