急!急!!急!!!这个函数怎么理解?

zhang2chenggong 2010-06-21 03:35:11


protected boolean validateFailed(ActionForm form, String validateMethodName, ActionMapping mapping, HttpServletRequest request) {
try {
Method method = form.getClass().getMethod(validateMethodName, ActionMapping.class, HttpServletRequest.class);
ActionMessages errors = (ActionMessages) method.invoke(form, mapping, request);
if (errors.size() > 0) {
this.saveErrors(request, errors);
return true;
}
return false;
} catch (Exception e) {
throw new ActionException(e);
}
}
...全文
141 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChDw 2010-06-21
  • 打赏
  • 举报
回复
是调用validateMethodName所指定的方法来校验,至于校验什么东西就要看这个validateMethodName的方法中是怎样写的了。通常是校验form中的参数是否填写正确
zhang2chenggong 2010-06-21
  • 打赏
  • 举报
回复
是在校验validateMethodName方法对应的form表单吗?
zhang2chenggong 2010-06-21
  • 打赏
  • 举报
回复
校验的是什么呢?
zhang2chenggong 2010-06-21
  • 打赏
  • 举报
回复
那怎么就知道是在验证什么呢?
ChDw 2010-06-21
  • 打赏
  • 举报
回复
通过反射调用form中的指定方法
getMethod(validateMethodName, ActionMapping.class, HttpServletRequest.class);
第一个是方法名,后面两个是参数类型指该方法有两个参数


method.invoke 就是调用这个方法了
zhang2chenggong 2010-06-21
  • 打赏
  • 举报
回复
为什么这样写呢?
能讲讲吗?谢谢。
zhang2chenggong 2010-06-21
  • 打赏
  • 举报
回复
恩,
Method method = form.getClass().getMethod(validateMethodName, ActionMapping.class, HttpServletRequest.class);
ActionMessages errors = (ActionMessages) method.invoke(form, mapping, request);

但是我不明白这是什么意思?
izard999 2010-06-21
  • 打赏
  • 举报
回复
这是个服务器数据校验的函数.!

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧