Я пытаюсь найти «туриста» из базы данных по его фамилии и вернуть его для просмотра, но я получаю ошибку
org.springframework.web.HttpRequestMethodNotSupportedException: метод запроса 'GET«не поддерживается» и «Метод, полученный в строке запроса, известен исходному серверу, но не поддерживается целевым ресурсом.
Я также вижу в консоли, что турист найден, но проблема начинаетсякогда я хочу передать объект для просмотра.
Я открываю страницу, чтобы найти туриста по этому коду:
<form:form method="GET" action="/space.flights/tourist/find">
<input type="submit" value="Find Tourist" />
</form:form></td>
Это страница для поиска:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isELIgnored="false"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>List of tourist</title>
</head>
<body>
<form:form method="post" action="found">
<table>
<tr>
<td>Last Name :</td>
<td><form:input path="lastName" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Find" /></td>
</tr>
</table>
</form:form>
</body>
</html>
Затем контроллер:
@RequestMapping("/find")
public ModelAndView find() {
ModelAndView model = new ModelAndView("tourist/find", "command", new Tourist());
return model;
}
@RequestMapping(value = "/found", method = RequestMethod.POST)
public ModelAndView found(@ModelAttribute("lastName") String lastName) {
System.out.println("LOOKING " + lastName);
Tourist tourist = touristService.findTourist(lastName);
System.out.println("FOUND: " + tourist.toString() + "FROM = " + lastName);
return new ModelAndView("redirect:/tourist/found");
}
И страница для отображения результата:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isELIgnored="false"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Tourist</title>
</head>
<body>
<table border="2" width="70%" cellpadding="2">
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Gender</th>
<th>Country</th>
<th>Notes</th>
<th>Birth</th>
</tr>
<c:out value="${tourist}">
<tr>
<td>${tourist.firstName}</td>
<td>${tourist.lastName}</td>
<td>${tourist.gender}</td>
<td>${tourist.country}</td>
<td>${tourist.notes}</td>
<td>${tourist.birth}</td>
</tr>
</c:out>
</table>
</body>
</html>
Я пытался изменить POST и GET, но, возможно, я чего-то не понимаю в этом.думал, что мне нужно здесь POST для отправки моих данных. Может быть, проблема в другом месте?