<form id="poster">
<tr>
<td>
<label>员工编号:</label>
</td>
<td>
<input type="text" name="leaverid" id="leaverid" placeholder="请输入员工编号">
</td>
<td>
<span id="staff-tips"></span>
</td>
</tr>
<tr>
<td>
<label>请假类型:</label>
</td>
<td>
<select id="selectNum" name="leavetype">
<option value="1">年假</option>
<option value="2">调休假</option>
<option value="3">事假</option>
</select>
</td>
<td>
<span id="option-tips"></span>
</td>
</tr>
<tr>
<td>
<label>开始时间:</label>
</td>
<td>
<input type="date" name="begintime" id="beginDate">
</td>
<td>
<span id="begintime-tips"></span>
</td>
</tr>
<tr>
<td>
<label>结束时间:</label>
</td>
<td>
<input type="date" name="endtime" id="endDate">
</td>
<td>
<span id="endtime-tips"></span>
</td>
</tr>
<tr>
<td>
<label>请假时长:</label>
</td>
<td>
<input type="text" name="counttime" id="counttime">
</td>
<td>
<span id="counttime-tips"></span>
</td>
</tr>
<tr>
<td>
<label>请假天数:</label>
</td>
<td>
<input type="text" name="days" id="days">
</td>
<td>
<span id="days-tips"></span>
</td>
</tr>
<tr>
<td>
<label>请假原因:</label>
</td>
<td>
<input type="text" name="cause" id="cause">
</td>
<td>
<span id="cause-tips"></span>
</td>
</tr>
<tr>
<td>
<label>审批人:</label>
</td>
<td>
<input type="text" name="master" id="master">
</td>
<td>
<span id="master-tips"></span>
</td>
</tr>
</form>
表单数据中的“开始时间”,“结束时间”都是date类型,在后台没有对Date类型进行转换之前,点击提交表单都会报400错误
这里的Controller方法内只输出了实体类信息,在没有对Date数据类型进行转换之前,控制台没有输出任何信息
在搜了许多资料之后看到一位朋友也是说对比了多个表单数据之后发现有Date数据的表单在序列化之后提交给后台会出400错误,于是对实体类的日期类型数据进行转换
对Date类型的数据加上@DateTimeFormat(pattern=“yyyy-MM-dd”)注解之后,再去按照之前的步骤进行提交,终于看到了期待已久的200,激动啊
控制台输出语句:
LeavedDetails{leaveid=null, leaverid='EP0001', leavetype=3, begintime=Wed Jul 03 00:00:00 CST 2019, endtime=Thu Jul 04 00:00:00 CST 2019, counttime=8, days=1, cause=' 生病', master='CM001'}
问题终于解决!不过后期还需要对Date数据进行格式化获取自己需要的数据!