春天的菜单人口mvc

时间:2014-09-16 20:18:00

标签: jquery ajax spring spring-mvc

我的现状。

1.从DB中获取所有菜单,因为Map包含键作为主菜单并设置为子菜单。 2.在加载Welcome.jsp时,主菜单项将从地图的键显示,并将此地图保留在会话中。 3.单击主菜单我将调用Jquery Ajax调用以显示子菜单项,同时我的主菜单颜色发生变化。 至此我已经实现了现在的挑战如下 1.如果我点击另一个子菜单项,我不想更改主菜单状态 - 需要保留颜色变化。 2.如何以最小的努力在所有页面中保留此菜单。

2 个答案:

答案 0 :(得分:1)

我会用一个代表菜单的类和一个ControllerAdvice来处理这个问题,以便在你的应用程序所需的所有页面中添加这些信息。 Menu类可以是:

class Menu{
     String href;
     List<Menu> subitems = new ArrayList();
}

然后在渲染jsp时,您可以按照描述的方式对其进行组织。

关于@ControllerAdvice,您可以向页面模型添加内容。如果此菜单显示在很多页面中,它会很有用。

http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/ControllerAdvice.html

答案 1 :(得分:0)

所以你可以做什么

  1. 致电控制器以获取菜单和子菜单列表
  2. 在JSP分配类菜单和子菜单中,例如class =&#34; mainLevelMenu&#34;对于菜单和类=&#34; subMenu&#34;用于子菜单。
  3. 定义单独的类=&#34;选择&#34;对于选定的主菜单。
  4. 当用户点击菜单项时,将此类指定给菜单项。
  5. 对于子菜单,您可以超链接到控制器。执行ajax调用并在正文部分加载响应。这将保留菜单部分。
  6. 如果可能,请发布您的代码,我们可以从那里开始。