2015-09-11 6 views
1

Чтобы спроектировать представления, у каждого вида jsp есть общее меню навигации (при изменении, при нажатии на узел дерева он переходит на другую страницу), что является хорошим подходом для этого?Spring MVC jsp view

Добавление нового узла в меню навигации будет влиять на все страницы. Узлы дерева навигационных меню будут заполнены из 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 - альтернатива Плитки