if(redirectUrl != null){
HtmlResponseWriter.clearCurrentRedirectUrl();
throw new Need2RedirectException(redirectUrl);
}
ServiceResult httpResult = ServiceResult.createHttpResult(result);
// 获取模板路径
PageFlow annotation = method.getAnnotation(PageFlow.class);
if (annotation == null) {
writeTextPlain(out, httpResult);
} else {
PageInfo pageInfo = null;
if (result instanceof Exception) {
pageInfo = annotation.error();
if (result instanceof ValidatorException) {
httpResult
.setInvalidValues(((ValidatorException) result)
.getInvalidValues());
session.setAttribute(ServiceResult.INVALID_VALUE_KEY,
httpResult.getInvalidValues());
}
} else {
pageInfo = annotation.success();
Object invalidValues = session
.getAttribute(ServiceResult.INVALID_VALUE_KEY);
if (invalidValues != null) {
httpResult
.setInvalidValues((InvalidValue[]) invalidValues);
httpResult.setInChain(true);
}
session.removeAttribute(ServiceResult.INVALID_VALUE_KEY);
}
if (options != null && options.size() > 0) {