2009-07-06 3 views
5

여러 가지 방법으로 주제를 다뤄야하는 단일 사이트가 있습니다. 새 테마가 필요할 때마다 다시 배포하지 않아도되도록 저장하려면 테마 정보를 데이터베이스에서 가져오고 싶습니다. 사용자 정의 ThemeSource 구현을 만들 수는 있지만 데이터베이스 기반의 테마 소스를 구현하는 방법은 확실하지 않습니다. 스프링 MVC에서 누구나이 경험이 있습니까?Spring MVC에서 데이터베이스로부터 테마를로드하는 방법은 무엇입니까?

답변

2

간단합니다.

스프링 컨트롤러는 필터 컨트롤러가 없기 때문에 배선이 쉽습니다.

  • 테마를 단순하게 만듭니다 (CSS 파일 하나, js 파일 한 개, 이미지 두 개).

  • 데이터베이스에 theme 및 themeresource 테이블을 만듭니다. theme은 theme_id, theme_name, theme_description을 포함합니다. themeresource는 resource_id, theme_id, name, content (blob)를 포함합니다.

  • (나는 최대 절전 모드를 사용하십시오)

  • ThemeController라는 컨트롤러를 만들기 테마 액세스를위한 DAO 만들기 (I은 최대 절전 모드를 사용하십시오). "/ theme/resources"에 매핑하십시오.

  • 컨트롤러에서 요청을 읽고 요청한 파일 (예 : "/theme/resources/style.css")을 확인하십시오.

  • 이미 때문에 요구되는 어떤 테마 알고 ThemeResolver

  • 주제와 자원 이름으로 DAO를 쿼리하여 데이터베이스에서 "있는 style.css"파일 (다른 모든 파일) 봉사

또 다른 옵션은 위의 컨트롤러가 수행해야하는 것과 정확히 동일한 수신기/필터를 만드는 것입니다.

관련 문제