Я создал простое приложение, и теперь я пытаюсь подключить его к веб-серверу. Я пытаюсь иметь HTML-форму (используя Thymeleaf), которую пользователь вводит в свое местоположение в виде текста, а затем мой сервер берет и производит результат с использованием этой строки. Поэтому, чтобы начать, я пытаюсь сделать простое искровое приложение, которое делает домашнюю страницу с формой «введите ваше местоположение», которая затем вводит пользователя и что-то делает с ней. Я могу получить «entryMessage», как показывают учебные пособия, но как получить пользовательские данные оказывается сложным.Как получить данные формы в Java Spark с использованием механизма шаблонов Thymeleaf?
Однако документация о том, как это сделать с этими двумя фреймами, очень мало. Моя попытка понять, как выглядит код, выглядит следующим образом. Обратите внимание, что средний пост только меня пытаются найти способы, чтобы получить данные формы - никто не доказал успешной
ThymeleafTemplateEngine engine = new ThymeleafTemplateEngine();
HashMap<String, String> userLocationMap = new HashMap<>();
get("/home", (request, response) -> {
userLocationMap.put("entryMessage", "Please enter your location");
return new ModelAndView(userLocationMap, "home");
}, engine);
post("/home", (request, response) -> {
System.out.println(request.toString());
//System.out.println(request.body());
//System.out.println(userResponse.location);
//response.redirect("/locationAccepted");
return userLocationMap.get("userLocation");
});
get("/locationAccepted", (request, response) -> {
String location = request.queryParams("userLocation");
return new ModelAndView(userLocationMap, "locationAccepted");
}, engine);
со следующими thymeleaf шаблоны
home.html
<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p> <span th:text="${entryMessage}"> default message </span> </p>
<form action="/locationAccepted" method="post">
<input type="text" th:field="userLocation"/>
<div class="button">
<button type="submit">Send your message</button>
</div>
</form>
</body>
</html>
и locationAccepted.html
<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p> <span th:text="${userLocation}"> default message </span> </p>
</form>
</body>
</html>