Spring @模型属性后句柄
目前,方法上的@ModelAttribute注释用于绑定模型中的属性。但这是在处理控制器之前发生的 是否可以在处理控制器后但渲染视图之前运行此操作 我知道使用拦截器可以实现这一点,但如果能够只为特定控制器实现这一点,并将所有代码/配置放在一个地方,那就太好了。下面的代码将不包含任何新的技术知识。但我发布代码是为了让这个答案在将来为其他人所理解,以供参考 不,你不能Spring @模型属性后句柄,spring,spring-mvc,Spring,Spring Mvc,目前,方法上的@ModelAttribute注释用于绑定模型中的属性。但这是在处理控制器之前发生的 是否可以在处理控制器后但渲染视图之前运行此操作 我知道使用拦截器可以实现这一点,但如果能够只为特定控制器实现这一点,并将所有代码/配置放在一个地方,那就太好了。下面的代码将不包含任何新的技术知识。但我发布代码是为了让这个答案在将来为其他人所理解,以供参考 不,你不能@modeldattribute在控制器操作之前被调用。但是您可以通过调用控制器操作代码中的@modeldattribute函数来手动
@modeldattribute
在控制器操作之前被调用。但是您可以通过调用控制器操作代码中的@modeldattribute
函数来手动覆盖属性
@ModelAttribute("mySessions")
public Iterable<Session> mySessions(){
return sessionService.findByUser(profileService.me());
}
@RequestMapping(value = "/")
public String index(Model model){
// Your Code ..........
model.addAttribute("mySessions", mySessions());
return "system/home/index";
}
你能试着在conroller级别使用AOP吗?我宁愿使用拦截器也不愿使用AOP路由。我认为AOP不应该用于这样的事情。我可能不同意你关于AOP使用的想法。如果你同意拦截器,请继续。
@RequestMapping(value = "/")
public String index(Model model){
// Your Code ..........
model.addAttribute("mySessions", sessionService.findByUser(profileService.me()));
return "system/home/index";
}