springboot thymeleaf实现在当前页面进行查询功能代码
时间: 2024-09-13 15:09:36 浏览: 70
springboot+mybatis+mysql+layUI+thymeleaf实现增删改查
在Spring Boot项目中结合Thymeleaf模板引擎实现页面上的查询功能,通常需要以下几个步骤:
1. 首先,在服务层(Controller)创建一个处理查询请求的方法,比如一个HTTP GET方法,接收查询参数并返回数据。
```java
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class YourController {
@GetMapping("/search")
public List<YourData> search(@RequestParam("query") String queryString) {
// 这里假设你有一个YourDataRepository,用于从数据库查询数据
return yourDataRepository.findBySomeField(queryString);
}
}
```
2. 然后,在Thymeleaf的HTML模板文件(通常是`.html`文件)中,你可以使用Thymeleaf的表单元素和条件渲染来展示查询表单和结果列表。
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
...
</head>
<body>
<form method="get" th:action="@{/search}">
<input type="text" name="query" placeholder="请输入搜索关键词...">
<button type="submit">查询</button>
</form>
<!-- 如果有查询结果 -->
<div th:if="${not #lists.isEmpty(searchResults)}">
<h2>搜索结果:</h2>
<ul>
<li th:each="result : ${searchResults}">
<span th:text="${result.field}"></span>
</li>
</ul>
</div>
</body>
</html>
```
当你在页面上填写查询关键词并提交表单时,浏览器会发送GET请求到`/search` URL,并携带查询字符串。Controller接收到请求后,动态查询数据并将其绑定到视图模型(通常是`ModelAndView`),最后Thymeleaf会根据模板内容渲染出相应的查询结果。
阅读全文