Udi*_*ngh 2 java spring spring-thymeleaf
您好,当使用 thymeleaf 3.1 和 spring6 单击注册按钮时,我收到以下错误,有人可以帮助我解决如何在新版本中编写给定语法的问题吗?
基础::布局(~{::节})
已弃用的未包装片段表达式“base::layout(~{::section})”在模板register.html第2行第53列中找到。请改用片段表达式的完整语法(“~{base::layout(~ {::部分})}”)。旧的、未包装的片段表达式语法将在 Thymeleaf 的未来版本中删除。
下面是我的 register.html 文件
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org"
th:replace="base::layout(~{::section})">
<head>
<meta charset="ISO-8859-1">
<title>Insert title</title>
</head>
<body>
<section>
<div class="container p-3" >
<div class="row">
<div class="col-md-6 offset-md-3">
<div class="card">
<div class="card-header text-center fs-4">Register Page</div>
<th:block th:if="${session.msg}">
<p class="text-center fs-3">[[${session.msg}]]</p>
<th:block th:text="${#session.removeAttribute('msg')}" </th:block>
</th:block>
<div class="card-body">
<form action="createUser" method="post">
<div class="mb-3">
<label>Enter First Name</lable>
<input type="text" name="firstname" class="form-control">
</div>
<div class="mb-3">
<label>Enter Middle Name</lable>
<input type="text" name="middlename" class="form-control">
</div>
<div class="mb-3">
<label>Enter Last</lable>
<input type="text" name="lastname" class="form-control">
</div>
<div class="mb-3">
<label>Enter Username</lable>
<input type="text" name="username" class="form-control">
</div>
<div class="mb-3">
<label>Enter Password</lable>
<input type="text" name="password" class="form-control">
</div>
<div class="mb-3">
<label>Enter Address</lable>
<input type="text" name="address" class="form-control">
</div>
<button class="btn btn-primary col-md-12">Register</button>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我试图访问的 base.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" th:fragment="layout(content)">
<head>
<meta charset="ISO-8859-1">
<title>Insert title</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
</head>
<body class="bg-light">
<h1>Base Page</h1>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<div class="container-fluid">
<a class="navbar-brand" href="#">User Management</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/">Home</a>
</li>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/register">Register</a>
</li>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/login">Login</a>
</li>
</ul>
</div>
</div>
</nav>
<div th:insert="${content}"></div>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
尝试注册用户并获得响应在前端注册成功
小智 5
只需替换您的代码:
th:replace="base::layout(~{::section})"
和 :
th:replace="~{base::layout(~{::section})}"
现在就可以了。
| 归档时间: |
|
| 查看次数: |
6907 次 |
| 最近记录: |