如何使用thymeleaf提交表单
时间: 2023-06-19 12:04:14 浏览: 181
Thymeleaf 是一个用于 Web 和独立环境的现代服务器端 Java 模板引擎,支持 HTML5/XHTML1 和 HTML4,可以与 Spring 框架完美集成。下面是一个使用 Thymeleaf 提交表单的示例:
1. 在 HTML 表单中,使用 Thymeleaf 的语法绑定表单字段和 URL:
```html
<form action="#" th:action="@{/submit}" method="post">
<input type="text" name="name" placeholder="Your name"/>
<input type="email" name="email" placeholder="Your email"/>
<textarea name="message" placeholder="Your message"></textarea>
<button type="submit">Send</button>
</form>
```
2. 在 Spring MVC 控制器中,使用 `@PostMapping` 注解处理表单提交请求:
```java
@Controller
public class FormController {
@PostMapping("/submit")
public String submitForm(@RequestParam("name") String name,
@RequestParam("email") String email,
@RequestParam("message") String message) {
// 处理表单提交数据
// ...
return "redirect:/thank-you";
}
@GetMapping("/thank-you")
public String thankYou() {
return "thank-you";
}
}
```
在控制器中,使用 `@PostMapping` 注解处理表单提交请求,并使用 `@RequestParam` 注解获取表单字段的值。处理完数据后,使用 `return "redirect:/thank-you"` 重定向到一个感谢页面。
3. 在感谢页面中,使用 Thymeleaf 的语法显示提交成功信息:
```html
<h1>Thank you for contacting us, [[${name}]]!</h1>
<p>We have received your message:</p>
<p>[[${message}]]</p>
```
在感谢页面中,使用 Thymeleaf 的语法显示提交成功信息,其中 `[[${name}]]` 和 `[[${message}]]` 分别表示表单提交的 `name` 和 `message` 字段的值。
这样,就可以使用 Thymeleaf 提交表单并处理表单数据了。
阅读全文