最近玩了下nutz-plugins-validation,发现每个方法入口都要处理Errors,好累....
然后重写了ValidationProcessor,做了统一处理
public void process(ActionContext ac) throws Throwable {
UTF8JsonView json = new UTF8JsonView(JsonFormat.compact());
json.setData(data);
ac.setMethodReturn(json);
renderView(ac);
return;
}
好使了,但是又发现每个方法入口又多了个没有使用的Errors es,看着好别扭
那么用aop来处理吧
定义一下
public @interface Validated {
}
@Validated @Param("..") User userInfo
然后懵逼了,没思路了
Errors es = new Errors();
for (int i = 0; i < annotations.length; i++) {
Annotation[] annotation = annotations[i];
for (Annotation anno : annotation) {
if (anno.annotationType() == Validated.class) {
av.validate(args[i], es);
ActionContext ac = Mvcs.getActionContext();
UTF8JsonView json = new UTF8JsonView(JsonFormat.compact());
json.setData(es);
ac.setMethodReturn(json);
//不知如何返回到视图了
return;
}
}
}
校验完毕后,无法返回视图了
ValidationProcessor renderView(ac);
还请兽总给点思路