`
keypoints
  • 浏览: 18118 次
  • 性别: 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 换肤方案..

不知道他是怎么想

相关推荐

    JSF2.0实战 - 8、实现换肤功能

    在本篇内容中,我们将深入探讨如何在JavaServer Faces (JSF) 2.0框架中实现换肤功能。JSF是一种用于构建Web应用程序的Java EE标准组件模型,而换肤功能则是提升用户体验的重要手段,它允许用户根据个人喜好选择不同...

    超漂亮的纯JAVA浏览器

    总的来说,这个“超漂亮的纯JAVA浏览器”是一个集美观、性能和灵活性于一体的Web浏览工具,它利用Java的跨平台优势和Firefox的Gecko引擎提供稳定的浏览体验,并且具备换肤功能以满足用户的个性化需求。无论是对于...

    企业门户网站系统源代码 java 响应式企业官网成品源码 公司行业通用源代码 web网站出售 可二次开发源码

    "企业门户网站系统源代码 java 响应式企业官网成品源码 公司行业通用源代码 web网站出售 可二次开发源码" 以下是从给定的文件中生成的相关知识点: 一、企业门户网站系统的重要性 企业门户网站系统是企业宣传和...

    精典源码之换肤.rar

    《精典源码之换肤》是一份针对软件界面换肤功能的源代码集合,它为开发者提供了实现个性化界面设计的实用示例。在本文中,我们将深入...《精典源码之换肤》这个源码集可以帮助你快速上手,探索更多换肤实现的可能性。

    java ssh mysql超市进销存管理系统

    Java SSH MySQL超市进销存管理系统是一款基于Java Web技术,采用SSH(Struts2、Spring、Hibernate)框架和MySQL数据库构建的全面的商业库存管理解决方案。这套系统旨在帮助超市高效地进行商品的采购、销售、库存管理...

    jqueryEasyui换肤技术

    jQuery EasyUI 是一款基于 jQuery 的前端开发框架,它提供了一系列的UI组件,使得开发者能够快速构建功能丰富的Web应用。在jQuery EasyUI中,换肤功能是其增强用户体验、个性化定制的重要特性之一。本文将深入探讨...

    java内嵌火狐核心浏览器

    Java内嵌火狐核心浏览器是一种技术实现,它允许开发者在Java应用程序中集成Firefox浏览器的核心功能,为用户提供一种统一且可控的浏览体验。这种技术通常基于XULRunner,这是Mozilla Firefox的一部分,提供了一个...

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

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

    Java:项目开源源码

    11. **GeekBlog**、**blojsom**、**MapleBlog**、**JSP Blog**、**SnipSnap**、**Blogunity**、**gnizr**:这些都是Java开发的Web博客或书签系统,它们各有特色,如快速安装、数据库支持、用户管理、主题定制、社区...

    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实现网页注册账号,网页...

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

    本文将深入探讨一款支持多选功能的日历控件,适用于JavaScript和Web开发环境,具有换肤、结构简单、小巧易用等特点。 首先,"日历控件(支持多选)锦集"是一款专为JavaScript和Web应用设计的组件,它的核心特性在于...

    Java软件开发实战 Java基础与案例开发详解 19-7 综合示例 共10页.pdf

    Java EE主要针对大型企业级应用,如Web应用、服务端应用等;Java ME则用于嵌入式设备和移动设备。 - **Java SE环境的安装和配置**:通常需要下载并安装JDK(Java Development Kit),配置环境变量,包括设置JAVA_...

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

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

Global site tag (gtag.js) - Google Analytics