图像控制器 X 和控制器 Y。(X 和 Y)都扩展了控制器 A。控制器 A 具有一些通用逻辑(检查用户是否已登录等)。
我可以在控制器 A 中(在方法 beforeInterceptor 中)设置一些数据来查看(因此这些数据将在控制器 X 和 Y 的所有方法中都可以访问)。(例如,在控制器 A 中的 beforeInterceptor 中获取 MENU 的数据 - MENU 在控制器 X / Y 中的每个方法的所有视图中都使用)
或者这样的问题应该以其他方式解决?
谢谢你的helo
图像控制器 X 和控制器 Y。(X 和 Y)都扩展了控制器 A。控制器 A 具有一些通用逻辑(检查用户是否已登录等)。
我可以在控制器 A 中(在方法 beforeInterceptor 中)设置一些数据来查看(因此这些数据将在控制器 X 和 Y 的所有方法中都可以访问)。(例如,在控制器 A 中的 beforeInterceptor 中获取 MENU 的数据 - MENU 在控制器 X / Y 中的每个方法的所有视图中都使用)
或者这样的问题应该以其他方式解决?
谢谢你的helo
首先出于安全目的,我将依赖Spring Security Plugin而不是您的手卷安全性。随着应用程序的增长,它使您的生活变得更加轻松。它功能强大、安全且实施起来非常简单。
有许多方法可以从中获取菜单数据server
。您可以使用拦截器或过滤器执行您所说的操作并将其注入每个视图/响应中,或将其存储/缓存在session
. 我认为session
效率更高,因为您不必每次都返回菜单项。即使您不想使用会话来确定缓存数据,如果它们是静态的。
如果您想将这些数据保留在控制器中,我将创建一个Private
返回值的方法。这可以防止它作为一个动作。更好的方法是使用可缓存方法的服务并返回菜单项。然后,您可以通过一种可行的方法将其转移到视图中。