




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,门户技术实现方案,2011-05,目录,门户需求,实现方案,数据模型,技术选型,企业门户内容,信息发布,应用集成,互动交流,管理后台,企业门户术语,版式,主题,企业门户术语,模块,栏目,模块设置,内容维护,可设置模块显示位置、信息显示条数、模块的组件样式等,在特殊节日展示企业文化,并提供贺卡功能,版式可由三栏1:1:1变为两栏1:2,模块可通过拖拽调整位置,模块设置,主题切换,版式调整,门户个性化,企业门户个性化,自定义栏目,如果预置栏目不足以满足用户需求,可创建新的栏目,并定制栏目首页,自定义模块,可自定义新的模块,如文章列表型模块、跑马灯图片模块等,模块设定,内容维护,模块设置,模块分类,信息发布类模块:如公司新闻、通知公告等;应用集成类模块:如博客推荐、论坛热帖等;互动交流类模块:如调查问卷、留言板等;用户扩展类模块:如图片链接、文章内容等;,依据用户自定义的新栏目而创建的信息发布类模块,技术选型,具体原因如下,门户的技术实现不采用数商架构,部分参考数商建站方案,开发架构不同,版本升级互相影响,业务目标不同,A、企业内网门户个性化程度没有数商建站的高B、企业内网信息门户,内容大于形式,借鉴数商技术方案,1、富文本编辑器数商Zshop1.0门户中有在线编辑文章以及进行文章排版的需求,直接采用数商的富文本编辑器,避免重复工作。,借鉴数商技术方案,2、使用SSI(ServerSideInclude)技术实现静态页面合成,Main页面部分SSI技术在门户应用中具体实现见后面的页面静态化章节,借鉴数商技术方案,3、借鉴数商模块添加设计方案,通过预置好内置模块,便于用户快捷添加删除模块。,技术选型,Velocity,HTML,使用Velocity模板技术将界面设计与业务逻辑分离及页面静态化,ExtJS,JAVA,使用HTML确定各模版页中的页面结构,开发门户后台管理界面,采用数管REST开发框架,实现方案,实现方案,员工访问html+js,前台维护html+js+Velocity,后台管理ExtJS,普通用户,管理员,Web服务器,数管Java端开发框架,门户用户访问页采用传统的HTML技术,而管理后台采用与协同办公等兄弟系统相同的研发技术,Velocity模板代码,html中嵌套Velocity脚本,用户看到的网页效果图,Velocity合成后的页面,门户各功能具体实现,1、通过切换组件来改变模块的内容展示效果管理员可对某一模块切换新的组件样式从而改变该模块内容的展示效果。例如由左图右文样式切换为右图左文样式。2、切换主题换主题即针对所有页面更换CSS文件。3、模块的拖拽与保存使用JS在客户端实现模块的拖拽,页面保存时把相关模块的ID值组合成JSON串保存到数据库中,下次该页面打开使用该JSON串再重新组织模块显示位置。4、应用集成门户与各应用系统的集成,各应用系统提供相应的接口,采用抓的方式从各应用系统获取数据在门户中进行显示。,门户功能具体实现,5、页面中模块设置时的页面局部刷新在模块设置或模块内容维护时,使用Ajax动态加载回显数据,进行页面局部刷新。(采用jQuery实现)6、普通用户静态页面与管理员动态页面普通用户访问的页面是静态HTML页面,该页面由对应的动态页面而生成。管理员访问的页面是动态页面,管理员进行模块设置变更时以及页面数据变化时会相应生成静态页面。,7、页面静态化处理管理员进行模块设置变更时以及页面数据在新增、编辑或删除时生成静态页面。,数据模型,数据模型,数据模型,CE300,CE300的专题,CE300,门户的专题如下样式:,CE300,CE300的搜索功能:,页面静态化,方案1、只生成当前维护的数据所对应的页面其它关联页面轮循定时生成说明:静态化实现方案简单,但由于采用轮循,静态化实时性不高且有过多重复生成。方案2、生成当前维护的数据所对应的页面,关联页面同时进行静态化。说明:不采用轮循,页面有变化时,实时进行静态化。采用方案2,方案1、把页面顶部、底部等不常更新变化的模块独立出来,这部分页面单独进行静态化,使用SSI技术进行页面合成,其它模块有变化时整个页面整体静态化。(如首页中的公司新闻模块有变化时,整个首页重新进行静态化)方案2、把每一个模块都分解成一个独立的HTML页面,使用SSI技术合成。模块内容有变化时,仅该模块的HTML重新生成,总页面不重新静态化。(如首页中的公司新闻模块有变化时,首页不进行静态化)采用方案2,页面静态化,静态化时机:管理员前台操作:版式选择、模块管理、模块拖拽、模块属性维护、模块内容维护管理员后台操作:栏目管理、信息管理静态化原则:1)分页情况时仅第一页生成静态化静态化范围:1)定期进行数据刷新的模块不作静态化2)应用集成模块不作静态化动态请求地址静态化:1)管理员前台维护时页面中的所有链接都是动态地址2)进行页面静态化后动态地址转换为静态地址,应用集成,门户的应用集成需求,应用集成,functionshowEmployee(rs)alert(rs.email);functiongetEmpInfo()varparams=name:abc;Ext.ux.JSONP.request(,callbackKey:jsoncallback,/服务器端取此参数,并在js片段中返回给前端params:params,/提交参数,在服务器端request可获得callback:showEmployee/返回后调用此函数);,采用JSONP实现跨域访问,客户端,应用集成,publicvoidsaveEmployee(CEOpenRequestrequest)Stringcallback=request.getParameter(jsoncallback);/js中写的参数/业务操作(增删改查等),获得相关数据后以拼装成JSON格式JSONObjectjson=newJSONObject();json.put(name,name);json.put(email,email);Stringrs=callback+(+json.toString()+);/以这种形式返回Representationrp=newStringRepresentation(rs,MediaType.APPLICATION_JAVASCRIPT,Language.ALL,CharacterSet.UTF_8);getResponse().setStatus(Status.SUCCESS_OK);getResponse().setEntity(rp);/jsonpCallback(name:abc,email:abc),采用JSONP实现跨域访问,服务器端,Velocity的集成模式,VelocityEngineve=newVelocityEngine();ve.init(perties);Templatetemplate=ve.getTemplate(helloWorld.vm);VelocityContextcontext=newVelocityContext();context.put(name,madding);context.put(password,madding);StringWriterwriter=newStringWriter();template.merge(context,writer);System.out.println(writer.toString();,Velocity的基本使用,Velocity集成使用模式,publicclassCustomerVelocityServletextendsVelocityViewServlet/设置返回视图为text/html编码为utf-8OverrideprotectedvoidsetContentType(HttpServletRequestrequest,HttpServletResponseresponse)response.setContentType(text/html;charset=utf-8);/处理请求OverrideprotectedTemplatehandleRequest(HttpServletRequestrequest,HttpServletResponseresponse,Contextctx)throwsExceptionctx.put(username,张三);ctx.put(age,20);Listlist=newArrayList();list.add(newEmployee(1,张三,陕西西安,18,newDepartment(1,软件研发部1);list.add(newEmployee(2,张三,陕西西安,19,newDepartment(2,软件研发部2);ctx.put(list,list);/调用父类的方法getTemplate()returngetTemplate(demo.vm,gbk);,基于Servlet,为了把相关的各种操作都在同一个类中,并实现不同的请求路径映射到Servlet的不同方法,需开发新的Controller。,Velocity集成使用模式,publicclassWelcomeControllerextendsMultiActionControllerprivateCourseServicecourseService;publicModelAndViewshowList(HttpServletRequestreq,HttpServletResponseresp)Listcourses=courseService.getAllCourses();returnnewModelAndView(courseList,courses,courses);publicModelAndViewshowList(HttpServletRequestreq,HttpServletResponseresp)Listcourses=courseService.getAllCourses();returnnewModelAndView(courseList,courses,courses);publicModelAndViewaddUser(HttpServletRequestreq,HttpServletResponseresp)Mapmodel=newHashMap();model.put(model,model);returnnewModelAndView(this.getSuccessView(),model);,基于SpringMVC,门户中既包含前台也包含后台,如果前台采用SpringMVC+Velocity,而后台采用ExtJS+REST,存在两种Controller。,Velocity集成使用模式,listCourse./velocitly/.vm,基于SpringMVC,Velocity集成使用模式,publicclassEipPageRESTextendsAppBaseRESTpublicRepresentationgetPage(CEOpenRequestceOpenRequest)/取得velocity的上下文contextContextcontext=newVelocityContext();context.put(siteinfo,super.getEipPageBiz().getSiteInfo();/取得velocity的模版Templatet=Velocity.getTemplate(index.vm,utf-8);/合并模板和数据并输出HTMLStringWritersw=newStringWriter();t.merge(context,sw);StringoutputHtml=sw.toString()StringRepresentationstr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家能源东营市2025秋招笔试模拟题及答案
- 青海地区中石油2025秋招面试半结构化模拟题及答案财务与审计岗
- 国家能源张家界市2025秋招网申填写模板含开放题范文
- 德阳市中石化2025秋招写作申论万能模板直接套用
- 营口市中石化2025秋招笔试行测专练题库及答案
- 赣州市中石化2025秋招面试半结构化模拟题及答案电气仪控技术岗
- 中国移动昭通市2025秋招市场与服务类专业追问清单及参考回答
- 盘锦市中石油2025秋招笔试模拟题含答案数智化与信息工程岗
- 国家能源西藏地区2025秋招面试专业追问及参考综合管理岗位
- 国家能源延边自治州2025秋招交通运输类面试追问及参考回答
- GB/T 18266.2-2025体育场所等级的划分第2部分:健身房
- 第4节 跨学科实践:电路创新设计展示-教科版九年级《物理》上册教学课件
- DGTJ08-2310-2019 外墙外保温系统修复技术标准
- 光电美容培训课件
- 子痫及子痫前期病例分析
- 2025至2030年中国智慧场馆行业市场运营态势及投资前景研判报告
- 2025年热塑性硫化橡胶市场前景分析
- 竣工结算审计服务投标方案(技术方案)
- 公路施工质量培训课件
- 2024北森图形推理题
- 基础护理8章试题及答案
评论
0/150
提交评论