Несколько хендлер методов на одном url

208
05 июня 2018, 00:30

Уважаемые, имеется проблема. Заключается она в том, что в контроллере имеется несколько get методов, которые вызываются при попытке перейти по одному url, что влечет за собой ошибку. Насколько мне известно, spring не может понять какой из двух методов ему вызывать. И это понятно, но как в таком случае можно решить проблему? Если допустим мне необходимо вызвать два контроллера в одном представлении по одному url.

Код:

@RequestMapping(value = "/admin/control", method = RequestMethod.GET)
public String getListUser(Model model) {
    model.addAttribute("user", new User());
    model.addAttribute("listUser", userService.getListUser());
    return "control";
}
@RequestMapping(value = "/admin/control/remove/{id}")
public String removeUser(@PathVariable("id") Integer id) {
    userService.removeUser(id);
    return "redirect:/admin/control";
}
@RequestMapping(value = { "/registration", "/admin/control" } , method = RequestMethod.GET)
public String registration(Model model) {
    model.addAttribute("userForm", new User());
    return "control";
}
@RequestMapping(value = { "/registration", "/admin/control" }, method = RequestMethod.POST)
public String registration(@ModelAttribute("userForm") User userForm, BindingResult bindingResult, Model model) {
    userValidator.validate(userForm, bindingResult);
    if (bindingResult.hasErrors()) {
        return "control";
    }
    userService.save(userForm);
    securityService.autoLogin(userForm.getUsername(), userForm.getConfirmPassword());
    return "redirect:/admin/control";
}

UPD. Представление:

        <h2 class="mb-4">Добавить пользователя</h2>
    <form:form method="POST" commandName="userForm" class="form-signin">
                    <spring:bind path="username">
                        <div class="form-group ${status.error ? 'has-error' : ''}">
                            <form:input type="text" path="username" class="form-control" placeholder="Логин"
                                        autofocus="true"></form:input>
                            <form:errors path="username"></form:errors>
                        </div>
                    </spring:bind>
                    <spring:bind path="password">
                        <div class="form-group ${status.error ? 'has-error' : ''}">
                            <form:input type="password" path="password" class="form-control" placeholder="Пароль"></form:input>
                            <form:errors path="password"></form:errors>
                        </div>
                    </spring:bind>
                    <spring:bind path="confirmPassword">
                        <div class="form-group ${status.error ? 'has-error' : ''}">
                            <form:input type="password" path="confirmPassword" class="form-control"
                                        placeholder="Подтвердите пароль"></form:input>
                            <form:errors path="confirmPassword"></form:errors>
                        </div>
                    </spring:bind>
                    <spring:bind path="groupId">
                        <div class="form-group ${status.error ? 'has-error' : ''}">
                            <form:select type="groupId" path="groupId" class="form-control" placeholder="Группа">
                                <option value="0">Администратор</option>
                                <option value="1">ПО521</option>
                                <option value="2">ТЭ521</option>
                                <option value="3">ПО411</option>
                                <option value="4">ТЭ411</option>
                            </form:select>
                            <form:errors path="groupId"></form:errors>
                        </div>
                    </spring:bind>
                    <button class="btn btn-lg btn-primary btn-block" type="submit">Подтвердить</button>
                </form:form>
    <hr>
    <h2 class="mb-4">Удалить пользователя</h2>
    <c:if test="${!empty listUser}">
        <div id="table-student">
            <table class="table table-striped">
                <tr class="tr">
                    <td width="40">ID</td>
                    <td width="100">Имя</td>
                    <td width="100">Группа</td>
                    <td width="60">Удалить</td>
                </tr>
                <c:forEach items="${listUser}" var="user">
                    <tr>
                        <td>${user.id}</td>
                        <td>${user.username}</td>
                        <td>
                            <c:if test="${user.groupId eq 1}">ПО521</c:if>
                            <c:if test="${user.groupId eq 2}">ПО411</c:if>
                            <c:if test="${user.groupId eq 3}">ТЭ521</c:if>
                            <c:if test="${user.groupId eq 4}">ТЭ411</c:if>
                        </td>
                        <td><a href="<c:url value='/admin/control/remove/${user.id}'/>">Удалить</a></td>
                    </tr>
                </c:forEach>
            </table>
        </div>
    </c:if>
READ ALSO
как применить encrypt(data bytea, key bytea, type text) returns bytea для шифрование данных postgresql на java swing

как применить encrypt(data bytea, key bytea, type text) returns bytea для шифрование данных postgresql на java swing

как применить функцию encrypt(data bytea, key bytea, type text) returns bytea для шифрование данных postgresql на java swingпример покажите пожалуйсто!!!!!!!

177
TelegramBot. В чём разница AbilityBot и TelegramLongPollingBot? Объясните

TelegramBot. В чём разница AbilityBot и TelegramLongPollingBot? Объясните

Есть библиотека для Java, TelegramBotsДля создания бота

310
как сделать в ngx-mapbox-gl двойную линию

как сделать в ngx-mapbox-gl двойную линию

Как сделать на карте линию ,как на картинке (двойную) ?

218
Inline поле ввода

Inline поле ввода

Нужно как-то реализовать "инлайновое" (+ чтобы его длина соответствовала длине контента) поле для ввода любыми средствами, кроме contenteditable,...

209