Возвращаемое значение из выбора с помощью FreeMarker - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть форма:

     <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, как вернуть значение?

1 Ответ

0 голосов
/ 20 ноября 2018

Вам необходимо определить атрибут name для вашего выбора, например, nameFont:

 <select name="nameFont">

Это отправит выбранное значение шрифта в качестве параметра POST nameFont

...