开发工具与关键技术:MyEclipse 10、java
作者:梁添荣
撰写时间:2019-6-08
新增数据时,如果form表单用到了enctype="multipart/form-data"属性,是不可以用El表达式获取值的,此时如果想要传参的话,我想到的方法是再action里片接参数进入传参,
如果新增后,地址栏是指定servlet的新增方法,在浏览器自带刷新那刷新,则会再进行一次新增.
为了避免出现此情况,只能在input里设置一个时间段已毫秒的速度刷新,标记该数据新增的时间,在新增时,把该input里的值付给另一个变量,当新增完后,刷新浏览器自带的刷新时,判断该input的时间是否等于刚才的变量,是则转发成刷新,否则就是新增并刷新。
因为用到enctype="multipart/form-data"则用不了EL表达式,所以可用以下代码进行新增(上传文件判断是普通格式还是文件)
if(fileItem.isFormField()){
name=fileItem.getFieldName();
value=fileItem.getString("UTF-8");
if("DriverName".equals(name)){
driver.setDriverName(value);
driverName=value;
}else if("Sex".equals(name)){
driver.setSex("0".equals(value)?true:false);
}else if("Phone".equals(name)){
int it=Integer.valueOf(value);
driver.setPhone(it);
}else if("IDno".equals(name)){
driver.setiDno(value);
iDno=value;
}else if("QualificationCode".equals(name)){
driver.setQualificationCode(value);
}else if("Driverlicensenumber".equals(name)){
driver.setDriverlicensenumber(value);
}else if("Quasidrivingtype".equals(name)){
driver.setQuasidrivingtype(value);
}else if("Qualificationcertificate".equals(name)){
try {
st=value.replace("/", "-");
driver.setQualificationcertificate(dateFormat.parse(st));
} catch (ParseException e) {
e.printStackTrace();
}
}else if("Remark".equals(name)){
driver.setRemark(value);
}else if("Drivinglicencedate".equals(name)){
try {
st=value.replace("/", "-");
driver.setDrivinglicencedate(dateFormat.parse(st));
} catch (ParseException e) {
e.printStackTrace();
}
}else if("DateOfEmployment".equals(name)){
try {
st=value.replace("/", "-");
driver.setDateOfEmployment(dateFormat.parse(st));
} catch (ParseException e) {
e.printStackTrace();
}
}else if("Drivernumber".equals(name)){
driver.setDrivernumber(value);
//1.获取设置时间的文本框的值赋值给另一个变量
}else if("time".equals(name)){
time=value;
2.新增进行判断
if(time2.equals(time)){//防止重复提交
request.getRequestDispatcher("/servlet/Servlet?type=select").forward(request, response);
}else{
time2=time;
String str0=driverSer.findByDriverNameAndIDno(driverName, iDno);
if("该数据已存在!".equals(str0)){
request.setAttribute("rs", str0);//提示是否成功
request.getRequestDispatcher("/servlet/Servlet?type=select").forward(request, response);
}else{
String str=driverSer.insert(driver);
request.setAttribute("rs", str);
request.getRequestDispatcher("/servlet/Servlet?type=select").forward(request, response);
}
}
防止重复提交
最新推荐文章于 2023-11-03 02:52:15 发布