我有这个字段用于输入日期。它通过Servlet保存到数据库中。
早些时候,我已经将HTML5日历用于此输入字段。但不支持Firefox。所以我把它改成了jQuery日历。但这样做之后,它就不会再保存到数据库中了。日志中没有可见的错误。
输入字段
<!-- Text input-->
<label class="col-md-2 control-label" for="textinput">License Issued Date</label>
<div class="col-md-3">
<input id="datepicker" name="textLicIssuedDt" type="text" class="form-control input-md" value="<c:out value="${drvLicenseLst.dateDrivingLicenseIssued}"/>">
日历的jquery
<!--cal-->
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
<!--cal-->
这是将其保存到DB(Hibernate)的servlet代码。
int idEmployee=Integer.parseInt(request.getParameter("idEmployee"));
String licenseNo=request.getParameter("textLicenseNo");
Date licIssuedDt=Common.convertJavaDateToSQL(request.getParameter("textLicIssuedDt")); //date picker's field
boolean remainderStatus=false;
Employee employee=new Employee();
DrivinglicenseService licenseService=new DrivinglicenseService();
employee.setIdEmployee(idEmployee);
Drivinglicense driLicense=licenseService.findByForkey(idEmployee);
driLicense.setEmployee(employee);
driLicense.setDrivingLicenseNumber(licenseNo);
driLicense.setDateDrivingLicenseIssued(licIssuedDt);
driLicense.setDateCreated(Common.getSQLCurrentTimeStamp());
driLicense.setLastUpdated(Common.getSQLCurrentTimeStamp());
licenseService.saveOrUpdate(driLicense);
您是否尝试过调试,以查看数据丢失的位置?(输入为空,未调用日期选择器,表单为空,格式与预期不同…)