у меня есть интерфейс , который наследуется от интерфейса для работы с бд предоставленного спрингом
import org.springframework.data.repository.CrudRepository;
public interface UserRepo extends CrudRepository<ClientOrder, Integer> {
}
есть класс Dao для работы с данными
public class AppUserDAO {
@Autowired
private UserRepo userRepository;
public void addUserAccount(ClientOrder clientOrder){
userRepository.save(clientOrder);
}
public Iterable<ClientOrder> findAllOrders(){
Iterable<ClientOrder> customers = userRepository.findAll();
return customers;
}
}
есть сама сущность с геттерами и сеттерами (на всякий случай укажу и ее)
@Entity
@Table(name = "Web_client")
public class ClientOrder {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "first_name", nullable = false)
private String firstName;
@Column(name = "last_name", nullable = false)
private String lastName;
@Column(name = "email", nullable = false)
private String eMail;
@Column(name = "password", nullable = false)
private String password;
//...
}
и есть контроллер для работы со страницами
@Controller
public class MainContoller {
private static Iterable<ClientOrder> orders;
private AppUserDAO userDAO;
@Value("${error.message}")
private String errorMessage;
@RequestMapping(value = {"/"}, method = RequestMethod.GET)
public String index(Model model){
return "index";
}
@RequestMapping(value = { "/personList" }, method = RequestMethod.GET)
public String personList(Model model) {
orders = userDAO.findAllOrders();
model.addAttribute("persons", orders);
return "personList";
}
@RequestMapping(value = { "/registerPerson" }, method = RequestMethod.POST)
public String savePerson(Model model, //
@ModelAttribute("personForm") ClientOrder personForm) {
String firstName = personForm.getFirstName();
String lastName = personForm.getLastName();
String email = personForm.geteMail();
String password = personForm.getPassword();
if (firstName != null && firstName.length() > 0 //
&& lastName != null && lastName.length() > 0) {
ClientOrder newPerson = new ClientOrder();
newPerson.setFirstName(firstName);
newPerson.setLastName(lastName);
newPerson.seteMail(email);
newPerson.setPassword(password);
userDAO.addUserAccount(newPerson);
return "redirect:/personList";
}
model.addAttribute("errorMessage", errorMessage);
return "addPerson";
}
}
который мапит начальную страницу с index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<input value="register" type="button" onclick="location.href=registerPerson" />
<input value="Log in" type="button" onclick="location.href='personList.html'" />
</body>
</html>
которая ссылается на 2 других страницы с которыми замапены свои контроллеры:
registerPeson:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<title>Add Person</title>
</head>
<body>
<h1>Create a Person:</h1>
<!--
In Thymeleaf the equivalent of
JSP's ${pageContext.request.contextPath}/edit.html
would be @{/edit.html}
-->
<form th:action="@{/registerPerson}"
th:object="${personForm}" method="POST">
First Name:
<input type="text" th:field="*{firstName}" />
<br/>
Last Name:
<input type="text" th:field="*{lastName}" />
<br/>
email :
<input type="text" th:field="*{email}" />
<br/>
password:
<input type="text" th:field="*{password}" />
<br/>
<input type="submit" value="Create" />
</form>
<br/>
<!-- Check if errorMessage is not null and not empty -->
<div th:if="${errorMessage}" th:utext="${errorMessage}"
style="color:red;font-style:italic;">
...
</div>
</body>
</html>
и person list:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<title>Person List</title>
</head>
<body>
<h1>Person List</h1>
<a href="addPerson">Add Person</a>
<br/><br/>
<div>
<table border="1">
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
</tr>
<tr th:each ="person : ${persons}">
<td th:utext="${person.getFirstName}">...</td>
<td th:utext="${person.getLastName}">...</td>
<td th:utext="${person.getEmail}">...</td>
</tr>
</table>
</div>
</body>
</html>>
но при попытке открыть любую из этих ссылок ничего не выходить хотя вроде все сопоставленно правильно и правильно указан context path, помогите пожалуйста разобраться, заранее спасибо