基于thymeleaf做一个待办已办H5移动端的html查询页面
时间: 2023-07-18 19:09:34 浏览: 98
好的,下面是一个基于Thymeleaf模板引擎的待办已办H5移动端查询页面的示例代码,你可以参考它来创建自己的页面:
```
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>待办事项查询</title>
<style>
/* 设置页面样式 */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
h1 {
text-align: center;
margin-top: 10px;
}
.container {
width: 100%;
max-width: 600px;
margin: 0 auto;
background-color: #f2f2f2;
padding: 20px;
box-sizing: border-box;
}
.form {
display: flex;
flex-direction: column;
margin-bottom: 20px;
}
.form label {
font-weight: bold;
margin-bottom: 10px;
}
.form input[type="text"] {
padding: 10px;
font-size: 16px;
border-radius: 5px;
border: none;
margin-bottom: 10px;
}
.form button {
padding: 10px;
font-size: 16px;
border-radius: 5px;
border: none;
background-color: #4CAF50;
color: #fff;
cursor: pointer;
}
.list {
list-style: none;
margin: 0;
padding: 0;
}
.list li {
padding: 10px;
margin-bottom: 5px;
border-radius: 5px;
background-color: #fff;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
display: flex;
justify-content: space-between;
align-items: center;
}
.list li.done {
background-color: #d7f3d5;
color: #4CAF50;
text-decoration: line-through;
}
</style>
</head>
<body>
<h1>待办事项查询</h1>
<div class="container">
<form class="form" th:action="@{/tasks}" method="get">
<label for="task-name-input">任务名称:</label>
<input type="text" id="task-name-input" name="name" th:value="${name}" placeholder="请输入任务名称">
<button type="submit" id="search-btn">查询</button>
</form>
<ul class="list" id="task-list">
<!-- 这里将查询结果展示出来 -->
<li th:each="task : ${tasks}" th:class="${task.done ? 'done' : ''}">
<span class="task-name" th:text="${task.name}"></span>
<span class="task-status" th:text="${task.done ? '已完成' : '未完成'}"></span>
</li>
</ul>
</div>
</body>
</html>
```
这段代码实现了一个简单的待办事项查询功能,包括根据任务名称查询已完成和未完成的任务。你可以根据自己的需求进行修改和扩展。
在后端Java代码中,你需要定义一个Controller类,处理查询请求,并将查询结果传递给Thymeleaf模板进行渲染。示例代码如下:
```java
@Controller
public class TaskController {
@Autowired
private TaskService taskService;
@GetMapping("/tasks")
public String getTasks(@RequestParam(required = false) String name, Model model) {
List<Task> tasks;
if (name != null && !name.isEmpty()) {
tasks = taskService.searchTasksByName(name);
} else {
tasks = taskService.getAllTasks();
}
model.addAttribute("name", name);
model.addAttribute("tasks", tasks);
return "tasks";
}
}
```
在Service层中,你需要定义方法来查询待办事项的数据。示例代码如下:
```java
@Service
public class TaskServiceImpl implements TaskService {
@Autowired
private TaskRepository taskRepository;
@Override
public List<Task> getAllTasks() {
return taskRepository.findAll();
}
@Override
public List<Task> searchTasksByName(String name) {
return taskRepository.findByNameContaining(name);
}
}
```
在Repository层中,你需要定义方法来访问数据库,并查询待办事项的数据。示例代码如下:
```java
@Repository
public interface TaskRepository extends JpaRepository<Task, Long> {
List<Task> findByNameContaining(String name);
}
```
通过以上的代码,你就可以实现一个基于Thymeleaf模板引擎的待办已办H5移动端查询页面了。
阅读全文