2015-09-11 145 views
1

为了设计视图,每个jsp视图都有一个共同的导航菜单(一个treetable,当点击一个树节点时,它会导航到另一个页面)对此有什么好的方法?Spring MVC jsp视图

将新节点添加到导航菜单将影响所有页面。 导航菜单树节点将从db(db上的菜单表)填充 是否可以在客户端上缓存菜单视图,以便每次用户导航另一个页面时都不会填充导航菜单?

谢谢

+0

SiteMesh的一种替代方法是要走的路 –

+0

http://stackoverflow.com/questions/4439651/sitemesh-or-tiles:似乎SiteMesh的不有积极的发展。 –

回答

1

有在后问了两个独立的问题,我会相应回答他们:

1)我会建议使用模板引擎与JSP的集成。

Apache Tile s适用于此类别。使用此框架,您可以定义包含页眉,页脚,正文和菜单布局的常见部分的模板。此外,它通过继承支持派生模板。

2)缓存解决方案:由于要从数据库加载值以使菜单动态化,缓存和预填充菜单将使页面加载时间最小化。 这应该在服务器端完成。

一个单独的线程/进程应负责定期预填充和刷新缓存。

从干净的代码角度来看,JSP或Tiles模板不应该调用数据库调用。相反,页面应该与DAO /组件交互以分离关注点并确保MVC模式不被破坏。

帮助链接: 瓷砖Example Thymeleaf - 到Tiles