Я работаю над проектом Spring mvc и хочу отправить значения из двух раскрывающихся списков и текстового поля - PullRequest
0 голосов
/ 13 апреля 2020

Мне нужно взять месяц (выпадающий список), год (выпадающий список) и текст от пользователя, который упакован как объект класса «Разрешения» и отправлен на сервер.

<div id="Setpermissions" class="modal">

    <div class="modal-content animate" >
        <div class="imgcontainer">
            <span onclick="document.getElementById('Setpermissions').style.display='none'" class="close" title="Close Modal">&times;</span>
        </div>

        <form id="my-form" action = "Permissions" method="post">

            <select name="mon" multiple="multiple" size="10">
                <%
                    for(i=1;i<13;i++) {
                        out.println("<option value = " + i + "> " + Month.of(i) + "<option>");
                    }
                %>

            </select>

            <select name="year" multiple="multiple" size="10">
                <%
                    int year = Integer.parseInt(Year.now().toString());
                    for(i=1;i<13;i++) {
                        out.println("<option value = " + year + "> " + year + "<option>");
                        year=year-1;
                    }
                %>

            </select>

            <fieldset>
                <label><input id="Reason" placeholder="Reason" type="text" name="Reason"></label>
            </fieldset>
            <!-- use this for server-side processing -->

            <input type="submit" name="submitted" value="submit" />

        </form>


    </div>

</div>

Вот мой код сервлета:

@RequestMapping(value = "/Permissions", method = RequestMethod.POST)
public String Permissions(@Validated Permissions per, Model model) {

    System.out.println(per.getReason());
    return "user";
}

}

Класс разрешений:

public class Permissions {
    private int mon;
    private int year;
    private String reason;
    private String permission;

    public String getPermission() {
        return permission;
    }

    public String getReason() {
        return reason;
    }
}

Но я не обращаюсь к нужной странице (пользователь. jsp), и значения не достигнув сервлета. Пожалуйста, помогите

1 Ответ

0 голосов
/ 13 апреля 2020

2 Вещи, которые вы должны попробовать:

  1. Ваш вспомогательный объект (в данном случае разрешения) должен иметь как Getters, так и Setters для всех полей. Это связано с тем, что когда вы нажимаете кнопку отправить и отправляете запрос в бэкэнд, Spring будет вызывать методы setX (x) для каждого поля. (напр. setYear (год)). Поскольку у вас нет сеттеров, я не верю, что это сработает.
  2. Вы используете заглавные имена в HTML (причина) вместо точного имени поля (причина). Я не уверен, влияет ли это на что-то, но может попробовать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...