简而言之,我想要这样的东西:
public String action(@SessionAttribute User user) {..}
代替
public String action(HttpSession session) { User user = session.getAttribute("user"); }
主要是为了:
我找到了解决方案。
我们的想法是注册自定义WebArgumentResolver的AnnotationMethodHandlerAdapter,它可以处理一个自定义的注释- @SessionAttribute(或@SessionParam)。
WebArgumentResolver
AnnotationMethodHandlerAdapter
@SessionAttribute
@SessionParam
param.getParameterName()如果未value指定,则可以使用其中张贴的代码的注释。
param.getParameterName()