如何在Spring MVC中从数据库加载主题?

Mar*_*ler 5 spring-mvc

我将有一个需要以多种方式主题的网站.我想从数据库中提取主题信息,以避免每次需要新主题时重新部署.我读过你可以创建一个自定义的ThemeSource实现,但不确定如何实现数据库驱动的主题源.有人在Spring MVC中有过这方面的经验吗?

Bog*_*dan 2

这很简单。

Spring 控制器,无过滤器 - 控制器更容易接线。

  • 使主题简单(一个 css 文件、一个 js 文件、几张图像)会有帮助。

  • 在数据库中创建主题和主题资源表。主题包含theme_id、theme_name、theme_description。themeresource包含resource_id、theme_id、name、content(blob)。(我会使用休眠)

  • 创建一个用于主题访问的 DAO(我会使用 Hibernate)

  • 创建一个名为 ThemeController 的控制器。将其映射到“/主题/资源”。

  • 在控制器中读取请求,查看它请求的文件(例如:“/theme/resources/style.css”)。

  • 由于 ThemeResolver,您已经知道需要什么主题

  • 通过使用主题和资源名称查询 DAO,从数据库提供“style.css”文件(以及所有其他文件)

另一种选择是创建一个侦听器/过滤器,它完全执行上述控制器应该执行的操作。