2009-07-06 4 views
5

Temalı olması gereken tek bir sitem var. Yeni bir temanın gerekli olduğu her seferinde yeniden dağıtılmaktan kurtarmak için tema bilgisini bir veritabanından çekmek istiyorum. Özel bir ThemeSource uygulaması oluşturabileceğinizi okudum, ancak veritabanı kaynaklı bir tema kaynağının nasıl uygulanacağından emin değildim. Spring MVC'de bu konuda deneyim sahibi olan var mı?Bahar MVC'deki veritabanından temalar nasıl yüklenir?

cevap

2

Bu basit.

Yay Denetleyicide, filtre denetleyicilerinin kablolaması daha kolaydır.

  • Temayı basitleştirin (bir css dosyası, bir js dosyası, birkaç resim) yardımcı olacaktır.

  • Veritabanında bir tema ve themeresource tablosu oluşturun. tema, theme_id, theme_name, theme_description öğesini içerir. themeresource, resource_id, theme_id, name, content (blob) içeriyor.

  • (ı Hibernate kullanmayı tercih ediyorum)

  • ThemeController denilen bir denetleyici oluşturma tema erişimi için bir DAO oluşturun (ı Hibernate kullanmayı tercih ediyorum). Bunu "/ theme/resources" ile eşleştirin. Denetleyici, istemciyi hangi dosyayı talep ettiğini (ör: "/theme/resources/style.css") görüntüledikten sonra okuyun.

  • Zaten yüzünden nelerin gerekli olduğunu tema biliyor ThemeResolver

  • tema ve kaynak adıyla DAO sorgulayarak veritabanından "style.css" dosyasını (ve tüm diğer dosyaları) Serve

Başka bir seçenek, yukarıdaki denetleyicinin yapması gerekenleri yapan bir dinleyici/filtre oluşturmak olabilir.