2009-07-06 6 views
5

Voy a tener un único sitio que debe ser temático de varias maneras. Quiero extraer la información del tema de una base de datos para evitar tener que volver a desplegar cada vez que se necesita un nuevo tema. Leí que puede crear una implementación personalizada de ThemeSource pero no estaba seguro de cómo implementar una fuente de tema basada en la base de datos. Alguien tiene experiencia con esto en Spring MVC?¿Cómo cargar temas de la base de datos en Spring MVC?

Respuesta

2

Es simple.

Controlador de muelle, sin filtro: los controladores son más fáciles de cablear.

  • Haga que el tema sea simple (un archivo css, un archivo js, ​​un par de imágenes) ayudará.

  • Cree un tema y una tabla de recursos de temas en la base de datos. el tema contiene theme_id, theme_name, theme_description. themeresource contiene resource_id, theme_id, name, content (blob). (Que haría uso de Hibernate)

  • Crear un DAO para acceder tema (que haría uso de Hibernate)

  • Crear un controlador llamado ThemeController. Asignarlo a "/ theme/resources".

  • En el controlador lea la solicitud, vea qué archivo está solicitando (por ejemplo: "/theme/resources/style.css").

  • Usted ya sabe qué tema se requiere debido a la ThemeResolver

  • Sirva el archivo "style.css" (y todos los demás archivos) a partir de la base de datos mediante la consulta de la DAO con el tema y el nombre del recurso

Otra opción sería crear un detector/filtro que haga exactamente lo que debe hacer el controlador anterior.

Cuestiones relacionadas