Spring Boot 第20篇: 处理表单提交

转载 2018年04月17日 09:18:42

这篇文件主要介绍通过springboot 去创建和提交一个表单。

创建工程

涉及了 web,加上spring-boot-starter-web和spring-boot-starter-thymeleaf的起步依赖。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
</dependencies>

创建实体

代码清单如下:

public class Greeting {

    private long id;
    private String content;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

}

创建Controller

@Controller
public class GreetingController {

    @GetMapping("/greeting")
    public String greetingForm(Model model) {
        model.addAttribute("greeting", new Greeting());
        return "greeting";
    }

    @PostMapping("/greeting")
    public String greetingSubmit(@ModelAttribute Greeting greeting) {
        return "result";
    }

}

页面展示层

src/main/resources/templates/greeting.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Handling Form Submission</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <h1>Form</h1>
    <form action="#" th:action="@{/greeting}" th:object="${greeting}" method="post">
        <p>Id: <input type="text" th:field="*{id}" /></p>
        <p>Message: <input type="text" th:field="*{content}" /></p>
        <p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
    </form>
</body>
</html>

src/main/resources/templates/result.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Handling Form Submission</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <h1>Result</h1>
    <p th:text="'id: ' + ${greeting.id}" />
    <p th:text="'content: ' + ${greeting.content}" />
    <a href="/greeting">Submit another message</a>
</body>
</html>

启动工程,访问ttp://localhost:8080/greeting:

img

点击submit:

img

参考资料

https://spring.io/guides/gs/handling-form-submission/

源码下载

https://github.com/forezp/SpringBootLearning

SpringBoot非官方教程 | 第二十篇: 处理表单提交

这篇文件主要介绍通过springboot 去创建和提交一个表单。创建工程涉及了 web,加上spring-boot-starter-web和spring-boot-starter-thymeleaf的...
  • forezp
  • forezp
  • 2017-04-30 16:54:28
  • 30833

Springboot学习-使用AOP统一处理Web请求日志(六)

AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是Spring框架中的一个重要内容,它通...
  • QQQQQQ654
  • QQQQQQ654
  • 2017-07-30 13:13:34
  • 313

Spring 4 MVC的post提交form时中文乱码

如果你发现Spring 4 MVC的Post请请求乱码,请添加accept-charset的标签为utf-8就能解决,如下: Firstna...
  • loveaborn
  • loveaborn
  • 2015-03-19 21:30:58
  • 5702

Spring Boot MyBatis升级篇-XML-注解-初尝试

尝试前准备: 我们spring-boot-mybatis-xml这个项目的代码,复制一份出来,取名为:spring-boot-mybatis-xml-annotation,我们会发现xml的项目中,...
  • longdan3105
  • longdan3105
  • 2018-01-30 21:34:48
  • 146

java springboot上传图片form表单提交上传

直接上代码
  • Fu_Tong
  • Fu_Tong
  • 2018-03-22 09:52:18
  • 102

112. Spring Boot 定时任务升级篇【从零开始学Spring Boot】

【原创文章,转载请注明出处】 【本篇博客,有配套视频,视频地址:《Spring Boot定时任务》,公众号中点击下面的阅读原文,视频中讲解的更详细】 需求缘起:在之前的一篇文章中就介绍过《Spring...
  • zmken497300
  • zmken497300
  • 2017-03-28 16:13:54
  • 753

springmvc post方式提交form时乱码问题——filter方式解决

springmvc post方式提交form时乱码问题——filter方式解决
  • wild46cat
  • wild46cat
  • 2016-09-08 09:53:20
  • 3812

Spring Boot入门2——表单验证

表单验证,即校验用户提交的数据的合理性的,比如是否为空了,密码长度是否大于6位,是否是纯数字的,等等。Spring boot是如何帮我们实现表单验证的呢? 假设现在我们存在这么一个注册界面:...
  • a60782885
  • a60782885
  • 2017-03-30 15:30:11
  • 5759

Spring Boot 入门之web基础篇(二)

原文地址:Spring Boot 入门之 Web 篇(二)一、前言上一篇《Spring Boot 入门之基础篇(一)》介绍了 Spring Boot 的环境搭建以及项目启动打包等基础内容,本篇继续深入...
  • weixin_39729846
  • weixin_39729846
  • 2018-03-19 10:19:23
  • 91

Spring Boot 入门之消息中间件篇(五)

转自:https://www.extlight.com/2018/01/26/Spring-Boot-%E5%85%A5%E9%97%A8%E4%B9%8B%E6%B6%88%E6%81%AF%E4%...
  • qq_32523587
  • qq_32523587
  • 2018-02-09 15:01:26
  • 136
收藏助手
不良信息举报
您举报文章:Spring Boot 第20篇: 处理表单提交
举报原因:
原因补充:

(最多只允许输入30个字)