thymeleaf使用layui实现登录
时间: 2023-10-04 11:10:31 浏览: 121
SSM框架+layui+thymeleaf+权限管理+登录拦截
3星 · 编辑精心推荐
以下是一个简单的Thymeleaf和Layui实现登录页面的示例:
1. 引入Layui相关的CSS和JS文件
在HTML文件中引入Layui的CSS和JS文件,可以从Layui官网下载并放置在项目的静态资源目录下。示例代码如下:
```
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
<link rel="stylesheet" href="/static/layui/css/layui.css"/>
<script src="/static/layui/layui.js"></script>
</head>
<body>
<!-- 页面内容 -->
</body>
</html>
```
2. 编写登录表单
在页面中使用Layui的表单组件编写登录表单,示例代码如下:
```
<!-- 登录表单 -->
<form class="layui-form" method="post" th:action="@{/login}">
<div class="layui-form-item">
<label class="layui-form-label">用户名</label>
<div class="layui-input-block">
<input type="text" name="username" required lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">密码</label>
<div class="layui-input-block">
<input type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="login">登录</button>
</div>
</div>
</form>
```
在表单中使用Thymeleaf的表达式`th:action="@{/login}"`指定表单提交的URL,这里假设登录请求的URL为`/login`。
3. 编写登录处理器
在后端编写登录处理器,接收并处理登录请求。在处理器中可以使用Spring Security等安全框架进行身份认证和授权,这里只演示简单的处理器示例代码:
```
@Controller
public class LoginController {
@GetMapping("/login")
public String login() {
return "login";
}
@PostMapping("/login")
public String doLogin(@RequestParam("username") String username,
@RequestParam("password") String password) {
// 处理登录逻辑
return "redirect:/index";
}
@GetMapping("/index")
public String index() {
return "index";
}
}
```
在`login()`方法中返回登录页面的视图名称,这里假设登录页面的视图名称为`login`。在`doLogin()`方法中处理登录请求,这里只是简单地接收并验证用户名和密码,然后重定向到首页。
4. 启用Layui表单验证
为了启用Layui表单验证功能,在页面底部添加以下代码:
```
<script>
layui.use('form', function(){
var form = layui.form;
form.verify({
username: function(value){
if(value.length < 5){
return '用户名长度不能小于5位';
}
},
password: function(value){
if(value.length < 6){
return '密码长度不能小于6位';
}
}
});
form.on('submit(login)', function(data){
// 提交表单
return true;
});
});
</script>
```
在以上代码中,`layui.use('form', function(){...})`是Layui表单组件的初始化代码,`form.verify({...})`用于添加表单验证规则,`form.on('submit(login)', function(data){...})`用于提交表单。这里定义了两个表单验证规则:用户名长度不能小于5位,密码长度不能小于6位。
5. 运行程序
启动程序,访问登录页面,输入用户名和密码,点击登录按钮,即可提交登录表单并跳转到首页。如果输入的用户名和密码不符合验证规则,则会提示错误信息。
阅读全文