Я понимаю, что этот вопрос уже много раз просил на этом сайте, однако ни одно из решений не выпирали мою проблему (хотя пожалуйста, указать на один, если я ошибаюсь)метод запроса «POST» не поддерживается - Gradle
Я пытаюсь отправить форму на .jsp, которая затем заполнит значение в базе данных. Мой файл JSP следующим образом:
<html lang="en">
<head>
<title>New Request</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1> New Request </h1>
<form method="POST" action="addRequest**?${_csrf.parameterName}=${_csrf.token}**">
<p>
Version: <select name = "versionSelect">
<option value="none">None</option>
<option value="A1">Component A::0.0.1</option>
<option value="A2">Component A::0.0.2</option>
</select>
</p>
<p>
Problem: <input type ="text" name="problem">
</p>
<p>
Solution: <input type ="text" name="solution">
</p>
<p>
Request type:
<input type ="radio" name="faultType" value="fault" checked> Fault
<input type ="radio" name="faultType" value="new"> New Feature
</p>
<input type = "submit" value="Create">
</form>
<br>
<form action="/developer">
<input type = "submit" value="Go back to home page">
</form>
</body>
</html>
Мой файл контроллера ниже:
@RequestMapping(value="/addRequest", method=RequestMethod.POST)
public ModelAndView addRequest(Model model, @RequestParam(value ="version",required=true) String versionSelect,
@RequestParam(value ="problem", required = true) String problem,
@RequestParam(value ="solution", required = true) String solution,
@RequestParam(value ="faultType", required = true) String faultType) {
Request request = new Request();
request.setVersion(versionSelect);
request.setProblem(problem);
request.setSolution(solution);
request.setFaultType(faultType);
return new ModelAndView("developer");
}
Однако при отправке формы я получаю предупреждение «Запрос метод„POST“не поддерживается», а данные не сохраняются , Я просмотрел другие сообщения, связанные с этим, и ответы, как представляется, связаны с XML-файлом, который, как я полагаю, означает, что они используют Spring с Maven. Тем не менее, я использую Spring с Gradle, изо всех сил пытаюсь найти подходящий ответ.
Я до сих пор добавил следующую строку:
**?${_csrf.parameterName}=${_csrf.token}**
Но это не исправить мою проблему.
Любая помощь или руководство будут оценены!
Почему "**" Arround вещей, которые вы добавили? – Nitek
Ahhhhhh, я думал, что это часть HTML, а не только для акцента! Вы исправили мою проблему! –