Не могу подружить тимелиф и весну - PullRequest
0 голосов
/ 28 апреля 2020

когда вы нажимаете кнопку поиска, в моем html:

<form method="post"> <input type="number" name="numberProt"> <button type="submit">Найти</button> </form>

возникает ошибка в моем @ Controller

@Controller
public class ViolationController {
    @Autowired
    private ViolationServiceImpl violationService;

    @GetMapping("/violations")
    public String viewViolations(Model model) {
        List<Violation> listViolations = violationService.findAll();
        model.addAttribute("listViolations", listViolations);

        return "violations";
    }

    @PostMapping("filterProt")
    public String filterViolation(Integer numberProt, Model model) {
        Iterable<Violation> protocols;
        if (numberProt != null) {
            protocols = violationService.findByNumProtocol(numberProt);
        } else {
            protocols = violationService.findAll();
        }
        model.addAttribute(protocols);
        return "/violations";
    }
}

Я прошу вас Помогите. Произошла ошибка: решено [org.springframework.web.HttpRequestMethodNotSupportedException: метод запроса 'POST' не поддерживается]

1 Ответ

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

Ваша форма неверна, она не имеет действия. Просто исправьте свою форму следующим образом:

<form action="/filterProt" method="post">
   <input type="number" name="numberProt">
   <button type="submit">Найти</button>
</form>

Кроме того, вашему обработчику контроллера не хватает аннотации @ModelAttribute:

@PostMapping("filterProt")
public String filterViolation(@ModelAttribute NumberModel numberModel, Model model) {
....
}

Где NumberModel:

public class NumberModel{
    private Integer numberProt;

    public Integer getNumberProt() {
        return numberProt;
    }

    public void setNumberProt(Integer numberProt) {
        return this.numberProt = numberProt;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...