首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在不同控制器的视图之间共享modelAttribute

在不同控制器的视图之间共享modelAttribute
EN

Stack Overflow用户
提问于 2019-01-11 07:39:50
回答 1查看 104关注 0票数 1

在我当前的Spring项目中(使用Thymeleaf),我将这两个控制器HomeController和一个通用控制器扩展到与模型层实体相关联的所有控制器。

HomeController中,我有这个modelAttribute方法:

代码语言:javascript
运行
复制
@ModelAttribute("usuario")
public Usuario usuario() {
  return usuario.findBy("username", SecurityContextHolder.getContext().getAuthentication().getName());
}

这显然可以通过映射到该控制器中的视图来访问。有没有办法将这个modelAttribute与其他控制器中映射的视图共享?

我在很多地方读到过这个RedirectAttributes资源,但我猜它只适用于重定向视图(如modelAndView.setViewName("redirect:welcome");)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-11 08:19:34

将该方法移动到单独的类中,并将@ControllerAdvice注释添加到该类中。这样,该类中的所有模型属性都将应用于应用程序中的所有控制器。

如果您想要限制模型属性可用的控制器集,您可以在@ControllerAdvice注释中指定只有特定包中的控制器、具有特定注释的控制器或实现特定接口的控制器应该得到增强。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54138492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档