将jsp页面的值赋给servlet:
String downtime = req.getParameter("downtime");
goods.setDowntime(new SimpleDateFormat("yyyy-MM-dd").parse(downtime));
entity包下的实体类,成员变量属性为Date,数据库里的字段属性为DateTime或者是Date。
当用户需要更新一条记录时,需要将servlet获取的数据赋给input当做默认值。
servlet赋值给jsp页面:
<%
Object o = request.getAttribute("DATA");
String time = "";
if(o != null){
Date date = goods.getDowntime();
int year = date.getYear()+1900;
int month = date.getMonth()+1;
int day = date.getDate();
time += year;
if(month <= 9){
time = time + "-"+"0"+month;
}else{
time = time + "-"+month;
}
if(day <= 9){
time = time + "-"+"0"+day;
}else{
time = time + "-"+day;
}
}
<input name="downtime" id="downtime" type="date" value="<%= time %>" />
需要注意的有三点:
一、年份从1900年开始计算,需要加1900,月份比实际年份少1
二、day的获取不是方法getDay(),是getDate()
三、input type=date支持的显示格式是2018-01-01,不足10的如果不用0补齐则不识别。