Salesup项目快完了,估计还有几天就能搞定了,在这个月底不要睡觉也要把它拿下,好久没有这种战斗的感觉了。
整个项目做下来,虽然大的技术上面自己没有太大的突破,小技术还是积累了不少,花点时间总结一下还是蛮有价值的。今天上午在做数据验证的时候,把struts的validator扩展了一下,加上了文件上传的验证功能,效果还不错。代码如下
public class ValidatorUtil {
public static boolean validateUpload(Object bean,
ValidatorAction va, Field field,
ActionMessages errors,
Validator validator,
HttpServletRequest request) {
BeanWrapper form = new BeanWrapperImpl(bean);
if(form.isReadableProperty(field.getProperty())){
boolean success=false;
FormFile formFile = (FormFile)form.getPropertyValue(field.getProperty());
String[] formats = field.getVarValue("format").split(",");
long size = Integer.valueOf(field.getVarValue("size"));
if(formFile.getFileSize()<=size){
success=true;
}
if(success){
boolean rightFormat=false;
String fileName = formFile.getFileName();
String format = fileName.substring(fileName.lastIndexOf(".")+1);
for(int i=0;i<formats.length;i++){
if(formats[i].equalsIgnoreCase(format)){
rightFormat=true;
break;
}
}
success=rightFormat;
}
if(success){
return true;
}
}
errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
return false;
}
}
然后只用在validator.xml里设置格式限制和大小限制就可以了,修改方便,不需要重编译
整个项目做下来,虽然大的技术上面自己没有太大的突破,小技术还是积累了不少,花点时间总结一下还是蛮有价值的。今天上午在做数据验证的时候,把struts的validator扩展了一下,加上了文件上传的验证功能,效果还不错。代码如下
public class ValidatorUtil {
public static boolean validateUpload(Object bean,
ValidatorAction va, Field field,
ActionMessages errors,
Validator validator,
HttpServletRequest request) {
BeanWrapper form = new BeanWrapperImpl(bean);
if(form.isReadableProperty(field.getProperty())){
boolean success=false;
FormFile formFile = (FormFile)form.getPropertyValue(field.getProperty());
String[] formats = field.getVarValue("format").split(",");
long size = Integer.valueOf(field.getVarValue("size"));
if(formFile.getFileSize()<=size){
success=true;
}
if(success){
boolean rightFormat=false;
String fileName = formFile.getFileName();
String format = fileName.substring(fileName.lastIndexOf(".")+1);
for(int i=0;i<formats.length;i++){
if(formats[i].equalsIgnoreCase(format)){
rightFormat=true;
break;
}
}
success=rightFormat;
}
if(success){
return true;
}
}
errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
return false;
}
}
然后只用在validator.xml里设置格式限制和大小限制就可以了,修改方便,不需要重编译