blic Result pagingQuery(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize, String name, Short gender, @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin, @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) { //这里是用了Param传递参数 -- 具体怎么传的看产品经理给的文档 log.info("参数:{},{},{},{},{},{}", page, pageSize, name, gender, begin, end); PageBean pageBean = empService.pagingQuery(page, pageSize, name, gender, begin, end); return Result.success(pageBean);
时间: 2025-03-09 21:02:57 浏览: 112
### Spring MVC 中 `@RequestParam` 分页查询参数传递与日期格式化
#### 使用 `@RequestParam` 进行分页查询参数传递
为了实现分页功能,在控制器层可以利用 `@RequestParam` 来接收来自客户端的分页参数。通常情况下,这些参数包括当前页码 (`pageNo`) 和每页大小 (`pageSize`)。
```java
@GetMapping("/students")
public ResponseEntity<PageInfo<Student>> getStudents(
@RequestParam(value = "page", defaultValue = "1") int pageNo,
@RequestParam(value = "size", defaultValue = "10") int pageSize) {
PageInfo<Student> pageInfo = studentService.getAllMessageByPage(pageNo, pageSize);
return ResponseEntity.ok(pageInfo);
}
```
此代码片段展示了如何定义一个 GET 请求来获取学生列表,并允许通过 URL 查询字符串指定分页信息[^3]。
#### 日期格式化的两种方式
对于日期类型的字段,有两种常见的格式化方法:
- **使用 `@JsonFormat` 注解**
如果希望在 JSON 序列化过程中控制日期格式,则可以在实体类或 DTO 的 getter 方法上应用 `@JsonFormat` 注解。这使得返回给前端的数据能够按照预期的形式展示时间戳。
```java
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
public Date getDate() {
return date;
}
```
这种方式适用于 RESTful API 返回的结果集中的日期字段格式化需求[^1]。
- **使用 `@DateTimeFormat` 注解**
当需要解析从前端传入的时间数据时(比如表单提交),则应该考虑采用 `@DateTimeFormat` 注解配合相应的输入域一起工作。它可以帮助服务器端更方便地理解并转换成 Java 时间对象。
```java
@PostMapping("/save-student")
public String saveStudent(@ModelAttribute Student student){
// Save logic here...
}
// In the corresponding JSP/HTML form field:
<input type='date' th:field='*{birthDate}' />
```
需要注意的是,这里假设已经配置好了注解驱动的支持环境,即 XML 文件中有 `<mvc:annotation-driven/>` 或者是在配置类里有 `@EnableWebMvc` 注解的存在[^2]。
阅读全文
相关推荐









