Java WEB系統 換膚 實現方式

Java WEB系統 換膚 實現方式

隨着個性化社會的發展,現在很多軟件都支持換膚功能,允許用戶來定製軟件的外觀。根據使用方式的不同,定製又分爲兩種:
1、系統管理員定製整個系統的外觀,系統管理員來選擇一個系統使用什麼樣的外觀,同時不允許用戶來定製。
2、每個用戶都可以實現定製,並且保存自己的定製


當然上述兩個情況都可以在一個系統中實現,不過需要由管理員來確定是否開放用戶定製功能。

換膚的實現原理:動態改變需要的css文件。

實現方式:

一、CSS設置部分:
每種風格設置一個套樣式表,分別放在不同的文件夾中,最好CSS樣式表中用到的背景圖片等也放在該文件夾下, 把文件夾地址作爲系統環境變量。

通常,需要寫一個網站通用的CSS文件,該文件一般只控制css的位置佈局,不涉及顏色,背景佈局,然後每套風格只涉及換膚方案的css文件,這裏就只控制顏色,背景。

頁面使用部分:

需要使用系統變量來讀取樣式表和圖片文件

Java代碼
<link href="${skins}/styles.css" rel="stylesheet" type="text/css" />
<img src="${skins}/images/Top_ment_left.gif" width="134" height="33" />
<link href="${skins}/styles.css" rel="stylesheet" type="text/css" />
<img src="${skins}/images/Top_ment_left.gif" width="134" height="33" />


其中${skins}是系統變量,如果上面定製方案1,該變量保存在Application中,如果是方案2,該變量保存在Session中即可。

變量的設置和讀取:

那麼如何來設置保存${skins}的變量呢?

如果是允許用戶定製,需要在每個用戶表中增加一列,保存該用戶設置的風格路徑,那麼就可以在用戶登錄的時候保存在Session中,

如果不允許用戶定製,就需要在系統啓動的時候就加載到Application中,可以考慮使用監聽器來實現。並且在執行換膚功能的時候來重新設置Application中的這個變量。而變量的保存可以保存在配置文件中,也可以保存在數據庫表中,如果保存在系統表中,注意監聽器中需要數據庫鏈接了,需要能夠獲取數據庫鏈接纔可以。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章