随着个性化社会的发展,现在很多软件都支持换肤功能,允许用户来定制软件的外观。根据使用方式的不同,定制又分为两种:
1、系统管理员定制整个系统的外观,系统管理员来选择一个系统使用什么样的外观,同时不允许用户来定制。
2、每个用户都可以实现定制,并且保存自己的定制
当然上述两个情况都可以在一个系统中实现,不过需要由管理员来确定是否开放用户定制功能。
换肤的实现原理:动态改变需要的css文件。
实现方式:
一、CSS设置部分:
每种风格设置一个套样式表,分别放在不同的文件夹中,最好CSS样式表中用到的背景图片等也放在该文件夹下, 把文件夹地址作为系统环境变量。
通常,需要写一个网站通用的CSS文件,该文件一般只控制css的位置布局,不涉及颜色,背景布局,然后每套风格只涉及换肤方案的css文件,这里就只控制颜色,背景。
页面使用部分:
需要使用系统变量来读取样式表和图片文件
<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中的这个变量。而变量的保存可以保存在配置文件中,也可以保存在数据库表中,如果保存在系统表中,注意监听器中需要数据库链接了,需要能够获取数据库链接才可以。
不清楚大家有没有其它的方案?有没有模板或者什么框架实现了换肤功能????
分享到:
相关推荐
Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效开发。 代码已经捐赠给开源中国社区: 系统设计 系统...
Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效开发。 代码已经捐赠给开源中国社区: 系统设计 系统...
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...
Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效、高性能开发。系统追求安全、性能方面的有效实现。 ...
Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效开发。 代码已经捐赠给开源中国社区: 系统设计 系统...
java开发oa办公系统源码 [TOC] ...使用JavaEmail插件实现邮件发送,记得需要开启SSl验证 OA管理系统(待开发) CMS管理系统(待开发) 三、关键技术 单点登录基础(模块名称jeeplatform-sso)(开发中) 项
基于Vue的校园生活管理系统Web端项目源码+项目说明(课程设计项目).zip 【功能实现】 -登录 / 注销 -权限验证 页面权限 指令权限 权限配置 二步登录 多环境发布 dev sit stage prod 全局功能 国际化多...
该项目为聊天系统,主要实现以tcp/ip为基础,使用scoket实现客户端之间的聊天通信,目标实现文本通信,发送图片表情,抖动窗口,换肤,资料修改,头像更改,查找好友,好友管理,并且结合web实现网页注册账号,网页...
Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效、高性能开发。系统追求安全、性能方面的有效实现。 ...
支持的 JavaServer Faces 实现 支持的服务器 支持的浏览器 7. 附加的设置 Web程序描述符参数 Sun JSF RI Apache MyFaces Facelets 支持 JBoss Seam 支持 8. 与IDE集成 9. Exadel VCP 和 Ajax4jsf 10. Web上...
支持的 JavaServer Faces 实现 支持的服务器 支持的浏览器 7. 附加的设置 Web程序描述符参数 Sun JSF RI Apache MyFaces Facelets 支持 JBoss Seam 支持 8. 与 IDE集成 9. Exadel VCP 和 Ajax4...
自定义通用System.Web.UI.IHierarchicalDataSource简单实现 在 ASP.NET 2.0 中创建 Web 应用程序主题 ASP.NET 2.0 中的数据访问 ASP.NET 2.0:弃用 DataGrid 吧,有新的网格控件了! 将 ASP.NET 2.0 应用程序服务...
使用JavaEmail插件实现邮件发送,记得需要开启SSl验证 ![Image text](https://gitee.com/362330721/jeeplatform/raw/master/screenshot/发送邮件.png) ### OA管理系统(待开发) 接入CAS Server实现单点登录 ### CMS...
Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE)采用经典开发模式,让初学者能够更快的入门并投入到团队开发中去。在线代码生成功能...
包括功能模块如:组织机构、角色用户、菜单及按钮授权、数据权限、系统参数、内容管理、工作流等。采用松耦合设计,微内核和插件架构,模块增减便捷;界面无刷新,一键换肤;众多账号安全设置,密码策略;文件在线...
Java 企业级快速开发平台,基于经典技术(Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE)组合,方便的在线代码生成功能,包括核心模块如:组织机构、角色用户、菜单及按钮授权、...
产品特点支持RSS和Atom标准将您的供稿分类,并跟踪您喜欢的文章支持基于Web和移动用户界面键盘快捷键RESTful Web API 全文搜索OPML导入/导出可换肤的Android应用有关功能和优点的列表,请参见 。资料下载每个新版本...
最后利用一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。 《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以...
最后利用一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。 《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以...
项目中应用的日历控件,支持多选,换肤,结构简单,小巧,引用起来简单方便,有多种样式,如有紧急需求,下这个最好不过,特此分享给大家!