JAVA代码:
public class AppUserArgumentResolver implements HandlerMethodArgumentResolver{
private static Logger log=Logger.getLogger(AppUserArgumentResolver.class);
@Override
public Object resolveArgument(MethodParameter methodParameter, ModelAndViewContainer modelAndViewContainer, NativeWebRequest nativeWebRequest,
WebDataBinderFactory webDataBinderFactory) throws Exception {
Object object = nativeWebRequest.getAttribute(SystemConf.APP_USER_REQUESTSCOPE, RequestAttributes.SCOPE_REQUEST);
if(object==null){
throw new MyException("********************");
}
nativeWebRequest.removeAttribute(SystemConf.APP_USER_REQUESTSCOPE, RequestAttributes.SCOPE_REQUEST);
return object;
}
@Override
public boolean supportsParameter(MethodParameter methodParameter) {
if(methodParameter.getParameterAnnotation(AppUser.class)!=null){
return true;
}
return false;
}
}
springMVC配置
<!-- 配置处理器映射器 适配器 -->
<mvc:annotation-driven >
<mvc:argument-resolvers>
<bean class="com.AppUserArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>