CN106020849A - 一种基于web开发框架的多主题实现方法 - Google Patents
一种基于web开发框架的多主题实现方法 Download PDFInfo
- Publication number
- CN106020849A CN106020849A CN201610419770.9A CN201610419770A CN106020849A CN 106020849 A CN106020849 A CN 106020849A CN 201610419770 A CN201610419770 A CN 201610419770A CN 106020849 A CN106020849 A CN 106020849A
- Authority
- CN
- China
- Prior art keywords
- file
- page
- web
- catalogue
- framework
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于web开发框架的多主题实现方法,属于web应用开发技术领域,本发明在同一个应用程序中,通过按照框架提供的目录规则建立目录,并在该目录下重新定义需要个性化展示的页面或个性化页面所需要的静态资源文件,实现不同地区对个别页面的个性化展示。能够在满足不同地区对个别页面个性化展示需求的同时,使开发及维护成本最小化。
Description
技术领域
本发明涉及web应用开发技术,尤其涉及一种基于web开发框架的多主题实现方法。
背景技术
随着互联网技术的迅速发展,web应用已成为当前的主流应用,这也推动了前端技术的迅猛发展及用户体验需求的提高。Web应用的特点之一就是资源共享,对于同一个应用不同地区均可访问,但对于某些特定的页面,比如登陆页或首页,不同地区希望看到的产品商标或提示信息会有不同,这种针对个别页面进行个性化展示的需求随着网络技术的发展日益增加。
目前大多的web应用都支持换肤功能,但换肤是一种整体改变应用样式的技术,不能满足针对个别页面样式进行修改的需求。目前常见的解决方案是不同地区的开发人员对需要个性化展示的页面或页面样式进行重写,导致各个地区的代码不统一,对项目以后的维护及升级带来较大的隐患。
发明内容
为了解决该问题,本发明提出了一种基于web开发框架的多主题实现方法,能够很好的解决不同地区对个别页面的个性化展示需求,同时只需要极低的开发及维护成本。该多主题方法的特点之一就是简单灵活,便于管理。对于只需要修改样式的页面,只需要在主题目录对应的地区目录下,重新定义对应的样式文件,而不需要对整个页面进行重新定义,简化了开发。清晰的目录结构,便于项目的管理及维护。另外,在多主题前提下,个性化页面的访问路径不会发生改变,便于菜单的统一管理和维护,这也使得多主题对用户是透明的。
一种基于web开发框架的多主题实现方法,
在同一个应用程序中,通过按照框架提供的目录规则建立目录,并在该目录下重新定义需要个性化展示的页面或个性化页面所需要的静态资源文件,实现不同地区对个别页面的个性化展示。
其中,重新定义的文件除文件名称与原来的文件名称相同外,其存放路径必须按照框架提供的规则,即文件在地区文件夹下的目录结构必须与该文件原来在当前项目中的存放路径相同;通过在web.xml文件中配置主题过滤器并在视图配置文件中配置主题视图解析器对请求的路径及返回的视图进行解析;最后通过开启全局配置文件,实现不同地区在访问相同路径时获取到个性化展示的页面。
具体步骤为:
1)选择开发环境及开发工具,建立web项目;
2)在建好的项目中按照规则建立目录结构并添加必要的配置及jar包;
3)在主题目录下添加地区文件夹,并在对应目录下重新定义需要个性化展示的页面或静态资源文件;
4)在全局配置文件中开启多主题配置;
5)页面中使用标签引入所需的静态资源。
本发明的有益效果是 。
1)web开发框架的多主题功能,满足了各地区在共享同一应用资源的同时,对少数页面个性化展示的需求。
2)开启多主题功能的软件环境配置只需要在创建web应用时配置各地开发人员开启多主题功能时,只需在全局配置文件root.prefs中配置theme属性,十分便捷,减少了开发及学习成本。
3)通过在固定目录结构下进行文件修改,便可实现多主题功能。固定的目录结构,便于应用代码的管理及维护,节省了运维成本。
4)通过标签引入页面所需的资源文件,对于只需要修改页面样式的情况,只需要对特定资源文件进行重新定义。很大程度上减少了代码量,提高了开发效率。
5)本文提出的web开发框架的多主题功能,页面访问路径不需要修改,保证了整个应用使用统一的菜单配置及管理,节省了应用管理成本。
6)web开发框架的多主题功能,通过在主题目录下添加各自的文件目录实现,各地区主题不会相互影响,增加了应用的可扩展性和移植性。
附图说明
图1是多主题功能实现示意图;
图2是web应用框架目录结构示意图;
图3是配置主题视图;
图4是在web.xml中添加主题拦截器示意图;
图5是主题目录的目录结构示意图;
图6是页面中使用标签引入资源文件示意图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
多主题功能实现示意图如图1所示,技术实现方案如下:
1)选择开发环境及开发工具,建立web项目;
开发人员可根据开发习惯选择web开发工具创建web项目,Web开发框架选用目前主流的SringMVC框架。
2)在建好的项目中按照规则建立目录结构并添加必要的配置及jar包;
项目目录结构如图2所示。引入web开发框架中必须的jar包,在SpringMVC配置文件中配置主题视图解析类(如图3),并在web.xml中添加主题拦截器(如图4)。
通过以上配置,启用多主题功能所需的软件环境已经准备就绪。
3)在主题目录下添加地区文件夹,并在对应目录下重新定义需要个性化展示的页面或静态资源文件;
此处以济南地区为例展示多主题功能的使用,假设济南地区需要将登陆页面login.jsp的背景图片login-background.png修改为济南的风景图片,并修改主页面home.jsp内容。此时,需要在主题目录下新建”jinan”文件夹,该目录下的内容如图5所示。
4)在全局配置文件中开启多主题配置;
按照规则,当前选用的web开发框架中全局配置文件为root.prefs,文件存放路径为WEB-INF/settings。通过配置该文件中的”/theme=jinan”可以实现济南地区页面的个性化展示。
页面中使用标签引入所需的静态资源。
通过使用当前开发框架提供的标签引入静态资源,可以实现开启多主题功能下个性化资源文件的引入。使用方式如图6所示。
图1是多主题功能实现示意图。如图所示,对于jsp请求和rest请求框 架分别配置了相应的过滤器和视图解析器,它们对请求的处理逻辑基本一致:先读取全局配置文件中主题属性theme的值,根据获取到的值选择文件查找路径为默认主题或指定的主题目录。其中,默认主题就是框架中与页面 展示相关的文件目录,即分别用来存放jsp文件的jsp目录和存放静态资源文件的skins目录。如果theme的值为有效值,假设theme=”jinan”,则 在theme/jinan目录下查找对应文件,找到则返回给客户端,否则再去默认主题目录下查找,返回客户端。如果theme的值无效,则直接从默认主题目录下查找并返回给客户端。以上描述中,如果默认主题下没有查找到文件,则返回404页面。
图2是实现多主题功能的web应用框架目录结构,图中标识出了较为重要的目录结构并在后面添加了说明文字。其中theme目录就是定义个性化页面的根目录。
图3是spring配置文件中定义视图解析器的spring bean对应的代码片段,此处视图解析器对应的实现类为框架提供的主题视图解析类。
图4是实现多主题功能需要在web.xml文件中配置的主题过滤器,该过滤器的实现类由框架提供。
图5是以济南为例的多主题开发案例中主题目录的目录结构。从图中可以看出,需要重新定义的文件,除了文件名称需要与原文件一致外,其在所属地区目录下的存放路径也需要保持与原来文件相对于项目根目录的存放路径一致。
图6是jsp页面中使用标签引入资源文件的案例展示,其中l:asset标签由web开发框架提供。通过使用标签,可以根据配置的主题目录,加载正确的静态资源,从而实现在只修改特定静态资原文件的情况下,对页面的个性化展示。
Claims (3)
1.一种基于web开发框架的多主题实现方法,其特征在于,
在同一个应用程序中,通过按照框架提供的目录规则建立目录,并在该目录下重新定义需要个性化展示的页面或个性化页面所需要的静态资源文件,实现不同地区对个别页面的个性化展示。
2.根据权利要求1所述的方法,其特征在于,
其中,重新定义的文件除文件名称与原来的文件名称相同外,其存放路径必须按照框架提供的规则,即文件在地区文件夹下的目录结构必须与该文件原来在当前项目中的存放路径相同;通过在web.xml文件中配置主题过滤器并在视图配置文件中配置主题视图解析器对请求的路径及返回的视图进行解析;最后通过开启全局配置文件,实现不同地区在访问相同路径时获取到个性化展示的页面。
3.根据权利要求2所述的方法,其特征在于,
具体步骤为:
1)选择开发环境及开发工具,建立web项目;
2)在建好的项目中按照规则建立目录结构并添加必要的配置及jar包;
3)在主题目录下添加地区文件夹,并在对应目录下重新定义需要个性化展示的页面或静态资源文件;
4)在全局配置文件中开启多主题配置;
5)页面中使用标签引入所需的静态资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610419770.9A CN106020849A (zh) | 2016-06-14 | 2016-06-14 | 一种基于web开发框架的多主题实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610419770.9A CN106020849A (zh) | 2016-06-14 | 2016-06-14 | 一种基于web开发框架的多主题实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106020849A true CN106020849A (zh) | 2016-10-12 |
Family
ID=57087836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610419770.9A Pending CN106020849A (zh) | 2016-06-14 | 2016-06-14 | 一种基于web开发框架的多主题实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020849A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775645A (zh) * | 2016-11-23 | 2017-05-31 | 山东浪潮云服务信息科技有限公司 | 一种页面信息配置方法和装置 |
CN106815032A (zh) * | 2017-02-23 | 2017-06-09 | 深圳麦亚信科技股份有限公司 | 保险业应用程序的个性化定义方法及其系统 |
CN110580153A (zh) * | 2018-06-07 | 2019-12-17 | 阿里巴巴集团控股有限公司 | 一种应用程序的开发方法和装置 |
CN110908655A (zh) * | 2019-10-16 | 2020-03-24 | 浙江大搜车软件技术有限公司 | 换肤方法、装置、计算机设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437048A (zh) * | 2008-11-11 | 2009-05-20 | 中国移动通信集团北京有限公司 | 一种推送个性化页面的方法和系统 |
CN103605516A (zh) * | 2013-11-12 | 2014-02-26 | 国家电网公司 | 柔性Web展现框架模型架构设计方法 |
CN104090749A (zh) * | 2014-05-30 | 2014-10-08 | 爱培科科技开发(深圳)有限公司 | 一种WinCE产品界面主题更新变换处理方法及系统 |
CN105302568A (zh) * | 2015-11-13 | 2016-02-03 | 山东中创软件工程股份有限公司 | 建立Web开发框架的方法及Web开发框架 |
-
2016
- 2016-06-14 CN CN201610419770.9A patent/CN106020849A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437048A (zh) * | 2008-11-11 | 2009-05-20 | 中国移动通信集团北京有限公司 | 一种推送个性化页面的方法和系统 |
CN103605516A (zh) * | 2013-11-12 | 2014-02-26 | 国家电网公司 | 柔性Web展现框架模型架构设计方法 |
CN104090749A (zh) * | 2014-05-30 | 2014-10-08 | 爱培科科技开发(深圳)有限公司 | 一种WinCE产品界面主题更新变换处理方法及系统 |
CN105302568A (zh) * | 2015-11-13 | 2016-02-03 | 山东中创软件工程股份有限公司 | 建立Web开发框架的方法及Web开发框架 |
Non-Patent Citations (1)
Title |
---|
MAINZ: "Spring MVC+Freemarker+Javascript的多语言(国际化i18n/本地化)和主题(theme)实现", 《HTTPS://WWW.CNBL OGS.COM/M AI NZ/ARCHI VE/2012/08/04/2622858. HTML》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775645A (zh) * | 2016-11-23 | 2017-05-31 | 山东浪潮云服务信息科技有限公司 | 一种页面信息配置方法和装置 |
CN106815032A (zh) * | 2017-02-23 | 2017-06-09 | 深圳麦亚信科技股份有限公司 | 保险业应用程序的个性化定义方法及其系统 |
CN106815032B (zh) * | 2017-02-23 | 2020-04-14 | 深圳麦亚信科技股份有限公司 | 保险业应用程序的个性化定义方法及其系统 |
CN110580153A (zh) * | 2018-06-07 | 2019-12-17 | 阿里巴巴集团控股有限公司 | 一种应用程序的开发方法和装置 |
CN110580153B (zh) * | 2018-06-07 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 一种应用程序的开发方法和装置 |
CN110908655A (zh) * | 2019-10-16 | 2020-03-24 | 浙江大搜车软件技术有限公司 | 换肤方法、装置、计算机设备和可读存储介质 |
CN110908655B (zh) * | 2019-10-16 | 2023-12-05 | 浙江大搜车软件技术有限公司 | 换肤方法、装置、计算机设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10581949B2 (en) | Systems, methods and computer program products for dynamic user profile enrichment and data integration | |
CN110400196A (zh) | 一种页面处理方法、装置及计算机可读存储介质 | |
Geers | Micro frontends in action | |
Sanderson | Pro Asp. net MVC 2 Framework | |
Freeman et al. | Pro Asp. net Mvc 4 | |
US20090276479A1 (en) | Distributed execution model for cross-organizational declarative web applications | |
CN106020849A (zh) | 一种基于web开发框架的多主题实现方法 | |
Su et al. | Enabling successful Collaboration 2.0: A REST-based Web Service and Web 2.0 technology oriented information platform for collaborative product development | |
CN109614085B (zh) | 功能实现方法、装置、计算机设备及存储介质 | |
CN103034690A (zh) | 一种基于web服务的移动客户端应用程序自定制方法 | |
CN103645908A (zh) | 网构软件全生命周期开发实现系统 | |
Wilken | Ionic in action: Hybrid mobile apps with Ionic and AngularJS | |
Yellavula | Building RESTful Web services with Go: Learn how to build powerful RESTful APIs with Golang that scale gracefully | |
CN103135992B (zh) | 一种根据客户个人特色要求快速设计网站商城的方法 | |
Hilton et al. | Play for Scala: Covers Play 2 | |
CN106933439A (zh) | 一种基于社交平台的图片处理方法及系统 | |
Sabraoui et al. | A MDA-based model-driven approach to generate GUI for mobile applications | |
Justin et al. | Learn ionic 2: Develop multi-platform mobile apps | |
CN103135993B (zh) | 一种根据客户个人特色要求快速设计个人网站的方法 | |
Puglisi | RESTful Rails Development: Building Open Applications and Services | |
Wadia et al. | The Definitive Guide to Apache MyFaces and Facelets | |
Khuu | House services management system | |
Linaje et al. | Multi-device context-aware RIAs using a model-driven approach | |
Strode | Guidelines for implementing ArcGIS API for flex developers | |
Nguyen et al. | Website Wildlife Diseases Redesign |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161012 |
|
RJ01 | Rejection of invention patent application after publication |