一、实体类字段写法如下:
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date sendTime;
Vue使用element-ui写法:
<el-form-item label="计划年份" prop="jhYear">
<el-date-picker clearable size="small"
v-model="queryParams.jhYear"
type="year"
value-format="yyyy-MM-dd"
placeholder="选择年份">
</el-date-picker>
</el-form-item>
后台可以拿到数据
二、当日期格式换位yyyy时,则获取不到数据,代码如下:
后台如下:
@JsonFormat(pattern = "yyyy")
private Date jhYear;
前台如下:
<el-form-item label="计划年份" prop="jhYear">
<el-date-picker clearable size="small"
v-model="queryParams.jhYear"
type="year"
value-format="yyyy"
placeholder="选择年份">
</el-date-picker>
</el-form-item>
则获取不到数据
三、经过对比,查询相关资料,java属性格式为yyyy-MM-dd
,则get方法上默认为yyyy-MM-dd
,当属性格式变为yyyy
后,则get方法上不跟随改变,需要加注解@JsonFormat(pattern = "yyyy")
,才能获取到数据。正确代码如下:
后台两个地方加注解:
@JsonFormat(pattern = "yyyy")
private Date jhYear;
//注意:这里也要加注解
@JsonFormat(pattern = "yyyy")
public Date getJhYear() {
return jhYear;
}
前台不变
<el-form-item label="计划年份" prop="jhYear">
<el-date-picker clearable size="small"
v-model="queryParams.jhYear"
type="year"
value-format="yyyy"
placeholder="选择年份">
</el-date-picker>
</el-form-item>
这样就能获取到数据了QAQ!