format.parse(value);
} catch (Exception e) {
errors.put(name, "字段"+name+"必须是数字类型("+patten"+")!");
}
}
}
//如果没有错误,直接放行
if (errors.isEmpty())
return true;
//有错了,生成描述错误信息的JSON串,返回前台
response.getWriter().write(JSONObject.fromObject(errors).toString());
response.getWriter().close();
return false;
}
}
每个URL需要映射一下校验数据使用的实体类,可以使用一个Propertes文件进行配置,上代码中的getValidation方法需要从这个配置文件中取信息。
[java]
/test/save_log.do=com.coolfancy.blog.entity.Log
/test/save_reply.do=com.coolfancy.blog.entity.Reply
使用这个方法后,基于数据库元数据的校验就不需要再在程序中写了,使用这个拦截器就全搞定了,如果有其它复杂的校验,可以在Action中使用原来的校验方法继续校验。
作者: fancy888