spring boot 登录注册 demo (三) -- 前后端传递
时间:2022-04-24
本文章向大家介绍spring boot 登录注册 demo (三) -- 前后端传递,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前端页面通过thymeleaf渲染
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
前后端的传递关键在html上面,请看代码:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<title>Insert title here</title>
<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css" />
</head>
<body>
<div class="container">
<div class="row clearfix">
<div class="col-md-3 column">
<form role="form" method="POST" th:action="@{/userLogin}" th:object="${user}">
<label for="username">Name</label><input type="text" class="form-control" id="username" th:field="*{name}" />
<label for="password">Password</label><input type="password" class="form-control" id="password" th:field="*{password}" />
<button type="submit" class="btn btn-default">Sign in</button>
</form>
<ul class="nav nav-pills">
<li role="presentation"><a href="register.html" class="href" target="_blank">Sign up</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
th:action="@{/userLogin}" 表示这个form表单的action会指向/userLogin
th:object="${user}" 表示form表单的内容会以user的形式传递
th:field:"*{name}" 表示该input输入的值,也就是前端的值存储在name中
如果你在前端输入name=jwen,password=1234,当这个表单提交的时候,就会把name=jwen,password=1234存放在user中传递给/userLogin
那么看看controller层怎么接接收这个的
@RequestMapping(value = "/userLogin", method = RequestMethod.POST)
String userLogin(User user, Model model) {
boolean verify = userService.verifyUser(user);
if (verify) {
model.addAttribute("name", user.getName());
model.addAttribute("password", user.getPassword());
return "result";
} else {
return "redirect:/notVerify";
}
}
requestMapping将/userLogin绑定给userLogin方法,该方法的入参是一个User的实例,一个Model的实例
而这个User的实例,就是我们从前端传递的,就是说你在userLogin方法,可以得到前端传递的东西;
- 如何把业务问题变成机器学习的问题?
- 这算是ASP.NET MVC的一个大BUG吗?
- 【Scikit-Learn 中文文档】分解成分中的信号(矩阵分解问题) - 无监督学习 - 用户指南 | ApacheCN
- 区块链技术在非能源领域的应用场景
- Python读书笔记8
- How to debug .NET Core RC2 app with Visual Studio Code on Windows?
- 难道.NET Core到R2连中文编码都不支持吗?
- .NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序
- matplotlib的基本用法(四)——设置legend图例
- TensorFlow深度学习笔记 文本与序列的深度模型
- 究竟哪里安全?加拿大VS中国治安大数据起底!意料之中还是之外?
- muduo网络库学习之EventLoop(四):EventLoopThread 类、EventLoopThreadPool 类
- 从小程序游戏开放可以看出,微信已经开始转移小程序战场了
- 17年AI在游戏中完胜人类,AlphaGo的下一个目标是什么?DeepMind有一个45年超越人类计划
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- RabbitMQ的安装及集群搭建方法
- CentOs7搭建rabbitmq集群
- Rabbitmq haproxy keepalived ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN.
- IDEA maven+spring mvc简单项目
- 程序员用python给了女友一个七夕惊喜!
- 微信小程序开发实战(21):发起HTTPS请求
- 打破国外垄断,开发中国人自己的编程语言(2):使用监听器实现计算器
- 自定义你的github主页
- nginx配置ssl证书实现https
- 有意思的 Node.js 内存泄漏问题
- 【技术干货】聊聊在大厂推荐场景中embedding都是怎么做的
- 特征工程|连续特征的常见处理方式(含实例)
- 一个请求过来,Spring MVC 是如何找到正确的 Controller 的?
- 吴师兄导读:如何快速入门数据结构和算法
- 你真的会做 2 Sum 吗?