`
keypoints
  • 浏览: 17556 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java WEB系统 换肤 实现方式

阅读更多
随着个性化社会的发展,现在很多软件都支持换肤功能,允许用户来定制软件的外观。根据使用方式的不同,定制又分为两种:
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中的这个变量。而变量的保存可以保存在配置文件中,也可以保存在数据库表中,如果保存在系统表中,注意监听器中需要数据库链接了,需要能够获取数据库链接才可以。



不清楚大家有没有其它的方案?有没有模板或者什么框架实现了换肤功能????




分享到:
评论
3 楼 armenpoon 2008-11-29  
spring MVC 有相应的实现,不过没有非常深入的了解

2 楼 huangking 2008-11-29  
你说的这两种方案我都用过
针对用户换肤的方案我是保存在数据库表中的
针对系统换肤的方案我是程序启动固定扫描皮肤目录(如:themes目录)下的子目录对比在配置文件中(properties文件)中的系统当前使用皮肤值,如果对比成功则加载该目录下面的CSS文件到页面,当然也可以动态在后台进行变更

我两套方案都是使用的velocity模板引擎作为视图层..后台还可以直接通过编辑器编辑模板文件实现布局的更改等..
1 楼 juzhibest 2008-11-28  
我们现在的OA 也是这么做的.

可是项目经理说是要 换CSS 换肤方案..

不知道他是怎么想

相关推荐

    java开发oa办公系统源码-jeeplatform:企业办公系统收藏https://github.com/u014427391/jeepla

    Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效开发。 代码已经捐赠给开源中国社区: 系统设计 系统...

    java开发oa办公系统源码-jeeplatform:权限管理模板

    Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效开发。 代码已经捐赠给开源中国社区: 系统设计 系统...

    与换肤工具不同的是,界面工具贯穿整个项目zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    java开发oa办公系统源码-Management-system:

    Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效、高性能开发。系统追求安全、性能方面的有效实现。 ...

    java开发oa办公系统源码-rbac-jeeplatform:rbac-jeeplatform

    Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效开发。 代码已经捐赠给开源中国社区: 系统设计 系统...

    java开发oa办公系统源码-jeeplatform:thisisjeeplatform权限菜单

    java开发oa办公系统源码 [TOC] ...使用JavaEmail插件实现邮件发送,记得需要开启SSl验证 OA管理系统(待开发) CMS管理系统(待开发) 三、关键技术 单点登录基础(模块名称jeeplatform-sso)(开发中) 项

    基于Vue的校园生活管理系统Web端项目源码+项目说明(课程设计项目).zip

    基于Vue的校园生活管理系统Web端项目源码+项目说明(课程设计项目).zip 【功能实现】 -登录 / 注销 -权限验证 页面权限 指令权限 权限配置 二步登录 多环境发布 dev sit stage prod 全局功能 国际化多...

    毕业设计-java高仿QQ(c/s&b/s结合)

    该项目为聊天系统,主要实现以tcp/ip为基础,使用scoket实现客户端之间的聊天通信,目标实现文本通信,发送图片表情,抖动窗口,换肤,资料修改,头像更改,查找好友,好友管理,并且结合web实现网页注册账号,网页...

    java开发oa办公系统源码-SpringBoot-Redis-Spring-AOP-:SpringBoot-Redis-Spring-AOP

    Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台可以实现快速开发,实现企业信息管理的高效、高性能开发。系统追求安全、性能方面的有效实现。 ...

    ajax4jsf中文教程

    支持的 JavaServer Faces 实现 支持的服务器 支持的浏览器 7. 附加的设置 Web程序描述符参数 Sun JSF RI Apache MyFaces Facelets 支持 JBoss Seam 支持 8. 与IDE集成 9. Exadel VCP 和 Ajax4jsf 10. Web上...

    ajax 4jsf用户指南中文版

    支持的 JavaServer Faces 实现 支持的服务器 支持的浏览器 7. 附加的设置 Web程序描述符参数 Sun JSF RI Apache MyFaces Facelets 支持 JBoss Seam 支持 8. 与 IDE集成 9. Exadel VCP 和 Ajax4...

    asp.net知识库

    自定义通用System.Web.UI.IHierarchicalDataSource简单实现 在 ASP.NET 2.0 中创建 Web 应用程序主题 ASP.NET 2.0 中的数据访问 ASP.NET 2.0:弃用 DataGrid 吧,有新的网格控件了! 将 ASP.NET 2.0 应用程序服务...

    基于SpringBoot+ORM-Mybatis+SpringMVC和多种组件构建的企业信息化开发基础平台源码+项目说明.zip

    使用JavaEmail插件实现邮件发送,记得需要开启SSl验证 ![Image text](https://gitee.com/362330721/jeeplatform/raw/master/screenshot/发送邮件.png) ### OA管理系统(待开发) 接入CAS Server实现单点登录 ### CMS...

    毕业设计论坛源码jsp-xiaocou-web:xiaocou-web

    Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE)采用经典开发模式,让初学者能够更快的入门并投入到团队开发中去。在线代码生成功能...

    基于 Spring Boot 3.1 在线代码生成功能,采用经典开发模式的Java 快速开发平台

    包括功能模块如:组织机构、角色用户、菜单及按钮授权、数据权限、系统参数、内容管理、工作流等。采用松耦合设计,微内核和插件架构,模块增减便捷;界面无刷新,一键换肤;众多账号安全设置,密码策略;文件在线...

    jeesite-web-v4.1.6-2019-8-7.zip

    Java 企业级快速开发平台,基于经典技术(Spring Boot、Spring MVC、Apache Shiro、MyBatis、Beetl、Bootstrap、AdminLTE)组合,方便的在线代码生成功能,包括核心模块如:组织机构、角色用户、菜单及按钮授权、...

    reader:免费和开源的feed feed阅读器,包括所有主要的Google Reader功能

    产品特点支持RSS和Atom标准将您的供稿分类,并跟踪您喜欢的文章支持基于Web和移动用户界面键盘快捷键RESTful Web API 全文搜索OPML导入/导出可换肤的Android应用有关功能和优点的列表,请参见 。资料下载每个新版本...

    精通JS脚本之ExtJS框架.part2.rar

    最后利用一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。  《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以...

    精通JS脚本之ExtJS框架.part1.rar

    最后利用一个商品信息管理系统和一个企业任务管理系统,向读者演示了ExtJS在实际项目中的应用以及实现流程。  《精通JS脚本之ExtJS框架》附有配套光盘,提供了书中实例的源代码和视频教学文件。此外,读者还可以...

    日历控件(支持多选)锦集,简单小巧,易用,js, web开发

    项目中应用的日历控件,支持多选,换肤,结构简单,小巧,引用起来简单方便,有多种样式,如有紧急需求,下这个最好不过,特此分享给大家!

Global site tag (gtag.js) - Google Analytics