金蝶BOS开发工程师基础认证培训Web框架_第1页
金蝶BOS开发工程师基础认证培训Web框架_第2页
金蝶BOS开发工程师基础认证培训Web框架_第3页
金蝶BOS开发工程师基础认证培训Web框架_第4页
金蝶BOS开发工程师基础认证培训Web框架_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、金蝶软件(中国)有限公司资冰冰资冰冰P2 版权所有 1993-2006 金蝶软件(中国)有限公司P2n总体架构总体架构nJSFnFaceletsnExtnAOMnWAFnWeb开发调试开发调试P3 版权所有 1993-2006 金蝶软件(中国)有限公司P3总体架构n金蝶开发平台基于aom开发,aom的底层技术为JSF,表现层采用ext和FaceletsP4 版权所有 1993-2006 金蝶软件(中国)有限公司P4JSF是什么是什么nJavaServer Faces (JSF, 或者 “Faces”)是一个构建Java Web 应用的UI 框架;它基于Java社区流程 (JCP) 开发,并且成

2、为J2EE 的一个组成部分。Faces 的一个主要目标是为Java Web 应用开发领域带来RAD 风格的应用开发,就像Microsoft Visual Basic 和Borland Delphi 一样。nJSF 提供一系列标准部件 (按钮、超链接、复选框等等),一个创建定制组件的模型,以及在服务器端处理客户端产生事件的方式,并且有良好的工具支持。你可以同步UI组件和相关对象的值,而不必编辑太多令人生厌的代码。n所有的JSF 应用都构建于Servlet API 之上,使用HTTP 进行通信,并且使用JSP.之类的显示技术 P5 版权所有 1993-2006 金蝶软件(中国)有限公司P5JSF与

3、与Struts区别区别P6 版权所有 1993-2006 金蝶软件(中国)有限公司P6JSF包含什么包含什么P7 版权所有 1993-2006 金蝶软件(中国)有限公司P7JSF生命周期生命周期P8 版权所有 1993-2006 金蝶软件(中国)有限公司P8JSF生命周期生命周期n构建复原组件树视图(RestoreViewPhase) nJSF 组件树用来构建和维护页的状态和事件。对于每个会话,将会构建一次树,并且当用户返回到该页时复用该树。在此阶段的末尾,当前请求的 FacesContext 实例的根属性反映由先前的“Faces 响应”生成的视图的已保存配置(如果有的话)。 P9 版权所有

4、1993-2006 金蝶软件(中国)有限公司P9JSF生命周期生命周期n应用请求值 n请求处理生命周期这一阶段的目的是使当前请求中包括的信息更新各组件的当前值(如参数、标题和 cookie)更新到相应组件树中的每个组件。从这里我们可以看到,从客户端发过来的请求是么种意义上的纯文本信息,而UI组件对应的是java实体,这里必然就存在了数据格式转换的问题。所以,在整个生命周期中,这个地方就成了数据转换发生的特定阶段(如:数据、日期显示格式)。P10 版权所有 1993-2006 金蝶软件(中国)有限公司P10JSF生命周期生命周期n处理验证 n为保证上一个阶段的数据正确,特定抽取了这个阶段作为数据

5、校验。在这里作为创建此请求的视图的一部分,可以为每个组件注册零个或多个验证器实例。另外,组件类自身也可以在它们的 validate() 方法中实现验证逻辑。在此阶段的末尾,会完成所有配置的验证。 P11 版权所有 1993-2006 金蝶软件(中国)有限公司P11JSF生命周期生命周期n更新模型值 n如果到达了请求处理生命周期的这一阶段,就意味着入局请求根据所执行的验证在语法和语义上都是有效的,且组件树中每一组件的本地值都已被更新,这一阶段主要通过调用组建树的每个UI组件的processUpdates()方法,递归更新每个组件树对应的应用程序的模型数据 P12 版权所有 1993-2006 金

6、蝶软件(中国)有限公司P12JSF生命周期生命周期n调用应用程序 n如之前构建复原视图时所述,如果当前请求的视图是根据先前请求保存的状态信息重新构造的,则 JSF实现就能够确保通过在此 Web 应用程序的“应用程序”对象上调用 getActionListener。P13 版权所有 1993-2006 金蝶软件(中国)有限公司P13JSF生命周期生命周期n呈现响应n此阶段同时完成两项任务:使响应呈示给客户机,以及使响应的状态得到保存以供后续请求处理之用。在一个阶段中同时处理这两项任务的原因是在 JSP 应用程序中呈示响应的行为会导致在呈示页面时构建视图。因此,要在视图的状态被呈示给客户机之后才能

7、保存该状态。P14 版权所有 1993-2006 金蝶软件(中国)有限公司P14为什么要选用为什么要选用JSFn对于RAD 工具的四个层次, JavaServer Faces 定义了其中3 个:一个基础组件架构,一个标准的UI 部件集,以及一个应用基础架构。JSF 的组件架构定义了一个通用的方式来建立UI 部件 nJavaServer Faces 有一个特定的目标:使web 开发更快更容易。它允许开发人员以组件,事件,Backing Bean 以及它们之间的交互来进行思考,而不是基于请求,响应和标记。换句话说,它掩盖了Web 开发的大量的复杂性,使开发人员能够集中于他们最擅长的事情:开发应用系

8、统。P15 版权所有 1993-2006 金蝶软件(中国)有限公司P15典型例子典型例子nHello,worldP16 版权所有 1993-2006 金蝶软件(中国)有限公司P16FaceletsnFacelets 非常适合 JSF,专为 JSF 设计的视图技术nFacelets是用来建立JSF应用程序时的一个可供选择的表现层技术。Facelets提供了一个强有 力的模板化系统,让你使用HTML样式的模板来定义JSF的表现层,减少了组件整合进表现层时候冗余的代码,而不需要一个web容器 P17 版权所有 1993-2006 金蝶软件(中国)有限公司P17FaceletsnFacelets 有以

9、下吸引人的特性:n模板化(像 Tiles) n复合组件 n定制的逻辑标记 n表达式语言 n对设计师友好的页面开发 n创建组件库 P18 版权所有 1993-2006 金蝶软件(中国)有限公司P18用 Facelets 进行模板化 (定义模版)(定义模版)n创建 layout.xhtml 页面。 n定义 Facelet 的命名空间,导入对 Facelets 的使用。 n用 ui:insert 标记定义页面的逻辑区域。 n用纯文本和 ui:include 标记定义合理的默认值 P19 版权所有 1993-2006 金蝶软件(中国)有限公司P19用 Facelets 进行模板化 (使用模版)(使用模

10、版)n当页面调用布局模板时,需要指定模板的位置n使用 ui:composition 标记。为了把参数传递给模板,要使用 ui:define 标记,它是 ui:composition 标记的子元素 P20 版权所有 1993-2006 金蝶软件(中国)有限公司P20复合组件复合组件 n不要重复自己 nFacelets 把它的精华放在复合组件上 P21 版权所有 1993-2006 金蝶软件(中国)有限公司P21复合组件的创建复合组件的创建n创建 Facelets 标记库。 n在 web.xml 中声明标记库。 n用命名空间导入标记文件 P22 版权所有 1993-2006 金蝶软件(中国)有限公

11、司P22ExtJsnExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写 的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应 用中 nExtJS 由一系列的类库组成,一旦页面成功加载了ExtJS 库后,我们就可以在页面中通过javascript 调用ExtJS 的类及控件来实现需要的功能 P23 版权所有 1993-2006 金蝶软件(中国)有限公司P23EXTJSnExtJS 的类库由以下几部分组成n底层API(core):底层API 中提供了对DOM 操作、查询的

12、封装、事件处理、DOM 查询器等基础的功能。其它控件都是建立在这些底层api 的基础上,底层api 位于源代码目录的core 子目录中,包括DomHelper.js、Element.js 等文件 P24 版权所有 1993-2006 金蝶软件(中国)有限公司P24Extjsn控件(widgets):控件是指可以直接在页面中创建的可视化组件,比如面板、选项板、表格、树、窗口、菜单、工具栏、按钮等等,在我们的应用程序中可以直接通过应用这些控件来实现友好、交互性强的应用程序的UI。控件位于源代码目录的widgets 子目录中 P25 版权所有 1993-2006 金蝶软件(中国)有限公司P25Ext

13、Jsn实用工具Utils:Ext 提供了很多的实用工具,可以方便我们实现如数据内容格式化、JSON数据解码或反解码、对Date、Array、发送Ajax 请求、Cookie 管理、CSS 管理等扩展等功能 P26 版权所有 1993-2006 金蝶软件(中国)有限公司P26ExtJs 组件nExt 组件是由Component 类定义,每一种组件都有一个指定的xtype 属性值,通过该值可以得到一个组件的类型或者是定义一个指定类型的组件。 n组件体系P27 版权所有 1993-2006 金蝶软件(中国)有限公司P27ExtJs组件使用n组件可以直接通过new 关键子来创建,比如控件一个窗口,使用

14、new Ext.Window(),创建一个表格则使用new Ext.GridPanel() n组件的构造函数中一般都可以包含一个对象,这个对象包含创建组件所需要的配置属性及值,组件根据构造函数中的参数属性值来初始化组件 P28 版权所有 1993-2006 金蝶软件(中国)有限公司P28ExtJs组件n每一个组件除了继承基类中的配置属性以外,还会根据需要增加自己的配置属性,另外子类中有的时候还会把父类的一些配置属性的含义及用途重新定义。学习及使用ExtJS,其中最关键的是掌握ExtJS 中的各个组件的配置属性及具体的含义 nhttp:/ 版权所有 1993-2006 金蝶软件(中国)有限公司P

15、29AOMnAOM:Apusic OperaMask,金蝶中间件公司的Web开发框架nAOM完整实现了JSF1.2规范,同时,对JSF1.2规范做了大量扩充,主要有AJAX支持、IoVC编程模型 P30 版权所有 1993-2006 金蝶软件(中国)有限公司P30AOM架构图P31 版权所有 1993-2006 金蝶软件(中国)有限公司P31AOM对对Web组件的扩展组件的扩展 n标准的JSF提供了与HTML元素一一对应的Web组件,标准的JSF Web组件基本上不能满足业务开发要求 nAOM在此基础上提供了一套基于Ext JS的Rich Components,根据Ext JS所提供的客户端组

16、件模型,提供了相应的服务器端组件模型、事件和组件渲染器,服务器端组件模型可以被复用,与具体的组件表现形式无关。而组件的渲染器可以自行以替换的方式进行扩展 P32 版权所有 1993-2006 金蝶软件(中国)有限公司P32AOM对对Web组件的扩展组件的扩展n组件使用方式n通过指定控件属性jsvar,可以用extjs api在页面访问nhttp:/ 版权所有 1993-2006 金蝶软件(中国)有限公司P33AOM约定优于配置约定优于配置 n目前主流的一些框架如( Struts和spring)通过很多配置实现对象的依赖注入nAOM中通过约定优于配置的规则,实现对象的注入P34 版权所有 199

17、3-2006 金蝶软件(中国)有限公司P34AOM -数据校验数据校验n简单校验Annotation:Requiredn客户端校验 n自定义校验n完整上下文校验P35 版权所有 1993-2006 金蝶软件(中国)有限公司P35AOM-JSF生命周期拦截生命周期拦截n默认提供BeforePhase、AfterPhase的标注式拦截n其他生命周期可扩展P36 版权所有 1993-2006 金蝶软件(中国)有限公司P36AOM MBean编程模型编程模型 AOM对标准JSF的ManagedBean进行了扩展 :n声明式定义声明式定义ManagedBean AOM提供了ManagedBean、Man

18、agedProperty等一系列标签,可以使用这些标签来以声明方式定义ManagedBean n通过Inject注入其他ManagedBean P37 版权所有 1993-2006 金蝶软件(中国)有限公司P37AOM IOVCnIoVC“Inversion of View-Control” ,即“视图控制反转” n传统的传统的JSF编程模式编程模式n传统方式的JSF设计中,UI所展现出来的数据通常位于ManagedBean中,UI上需要与用户交互的行为(Action)也定义在ManagedBean中,在UI中通过EL表达式,将每个组件与ManagedBean中所持有的数据绑定起来。如:这是以

19、视图为控制导向的一种设计模式,视图必须知道其所要绑定的ManagedBean及其属性和行为,这在一定程度上限制了UI的重用。 P38 版权所有 1993-2006 金蝶软件(中国)有限公司P38AOM IOVCnIoVC定义了一系列的标注用于将Model与View上的元素对应,开发者通过在Model上声明这种对应关系,可以将视图上的元素与Model中的属性和方法对应起来 n在IoVC编程模式下,组件只需简单的声明id属性即可与Model进行关联 P39 版权所有 1993-2006 金蝶软件(中国)有限公司P39WAFnWAF - web application frameworknWAF作用

20、 Web开发平台的核心职能类似开发平台的核心职能类似GUI框架,是框架,是EAS Web产品产品开发的基础平台,跟开发的基础平台,跟GUI应用框架共用应用框架共用EAS Web服务端组服务端组件,协同件,协同BOS框架和业务模型框架和业务模型(BIM)实现模型驱动架构实现模型驱动架构(MDA)。它提供统一的业务开发模型,简化开发逻辑,形。它提供统一的业务开发模型,简化开发逻辑,形成一致的开发模式,最大限度实现代码的重用机制成一致的开发模式,最大限度实现代码的重用机制P40 版权所有 1993-2006 金蝶软件(中国)有限公司P40WAFnWAF有什么1. web应用框架体系应用框架体系 为业

21、务单据提供复用体系为业务单据提供复用体系 2. UI通用处理通用处理 如如RPC交互、数据绑定、异常处理、通用查询等交互、数据绑定、异常处理、通用查询等 3. 业务服务调用业务服务调用 如权限控制、如权限控制、BOTP、工作流等、工作流等 4.某些控件某些控件 如如F7,枚举框,多语言控件,枚举框,多语言控件,LabelContainer等等P41 版权所有 1993-2006 金蝶软件(中国)有限公司P41web应用框架体系n序时簿P42 版权所有 1993-2006 金蝶软件(中国)有限公司P42Waf 序时簿 列表界面(List Winlet)ManagedBean从ListBean继承

22、,请实现如下方法:ngetQueryPK()要求返回查询当前列表数据结果的Query PK ngetEditBeanName()要求返回列表对象对应的编辑界面的ManagedBean的名称 ngetEditUrl()要求返回列表对象对应的编辑界面的Url ngetBizInterface()类似编辑界面的同样接口实现。该业务接口的获取可以通过注入方式实现 P43 版权所有 1993-2006 金蝶软件(中国)有限公司P43WAFnIBOSBizCtrl 标签 本注释型负责对BOS IBizCtrl(IBOSObject以及Function EJB接口对象)进行统一的注入控制,以及屏蔽与BOS服

23、务端交互的复杂性 例如: IBOSBizCtrlprivate IPurReq service;P44 版权所有 1993-2006 金蝶软件(中国)有限公司P44Waf 序时簿模版n templates/list-templates.xhtml 定义了列表界面的布局模板,业务单据的列表界面视图从此模板继承,并提供相应的模板内容实现 具体使用可以参照Facelets章节章节P45 版权所有 1993-2006 金蝶软件(中国)有限公司P45Waf 序时簿组件nWEB-INF/components/billList-toolbar.xhtml 封装了单据列表界面工具条部分的内容,提供了标准的操作

24、按钮以及统一的Action绑定,相关业务使用此组件时只需设置组件的beanName属性即可 例子: P46 版权所有 1993-2006 金蝶软件(中国)有限公司P46Waf 序时簿组件WEB-INF/components/baseList-toolbar.xhtml 封装了基础资料列表界面工具条部分的内容,提供了标准的操作按钮以及统一的Action绑定,相关业务使用此组件时只需设置组件的beanName属性即可 例子:P47 版权所有 1993-2006 金蝶软件(中国)有限公司P47Waf 序时簿组件nWEB-INF/components/inner-window.xhtml 封装了列表界

25、面跟其他页面进行Ajax交互的载体,支持UIWindow的弹出框(适用于通用过滤等),也支持其他通过javascript脚本弹出的对话框或新窗口(例如编辑界面或BOTP转换界面等)例子:P48 版权所有 1993-2006 金蝶软件(中国)有限公司P48Waf 编辑界面类图 P49 版权所有 1993-2006 金蝶软件(中国)有限公司P49Waf 编辑界面n编辑界面(Edit Winlet)ManagedBean从EditBean继承,请实现如下几个方法:ncreateNewModel:新增业务对象ngetBizInterface:业务操作接口,该业务接口的获取可以通过注入方式实现 ,注入方

26、式和ListBean类似可选实现:ngetSelectors 获取所选单据VO属性,子类可覆盖实现 nUpdatemodel 单据若含有分录,更新分录modelP50 版权所有 1993-2006 金蝶软件(中国)有限公司P50Waf 编辑界面模版ntemplates/edit-templates.xhtml 定义了编辑界面的布局模板,业务单据的编辑界面视图从此模板继承,并提供相应的模板内容实现 P51 版权所有 1993-2006 金蝶软件(中国)有限公司P51Waf 编辑界面组件nWEB-INF/components/billEdit-actions.xhtml 封装了编辑界面下方按钮部分

27、的内容,提供了标准的操作按钮以及统一的Action绑定,相关业务使用此组件时只需设置组件的beanName属性即可 例子: P52 版权所有 1993-2006 金蝶软件(中国)有限公司P52Waf 编辑界面组件nWEB-INF/components/ billEntry-actions.xhtml封装了分录的基本操作以及统一的Action绑定,相关业务使用此组件时只需设置组件的beanName属性即可例子: P53 版权所有 1993-2006 金蝶软件(中国)有限公司P53Waf 编辑界面组件nWEB-INF/components/ billEdit-toolbar.xhtml 封装了单据

28、与其他单据相关常用功能的操作及Action绑定,例如上一个单据、下一个单据、单据转换等,相关业务使用此组件时只需设置组件的beanName属性即可 P54 版权所有 1993-2006 金蝶软件(中国)有限公司P54Waf 编辑界面组件nWEB-INF/components/billEdit-actions.xhtml 封装了编辑界面下方按钮部分的内容,提供了标准的操作按钮以及统一的Action绑定,相关业务使用此组件时只需设置组件的beanName属性即可 例子: P55 版权所有 1993-2006 金蝶软件(中国)有限公司P55Waf UI通用处理-数据绑定nJSF体系本身提供了完善的数

29、据绑定功能,不需要类似GUI的loadFields及storeFields等自己处理。对于一些特定类型的属性绑定,框架提供常用的Converter处理,包括IObjectValueConverter、BOSUUidConverter、DataTimeConverter等。 n支持EL表达式;n可以绑定简单数据类型(string, int, float等);n可以通过数据类型转换器绑定复杂数据类型(任意数据类型);n 支持表格、F7的数据绑定;P56 版权所有 1993-2006 金蝶软件(中国)有限公司P56Waf UI通用处理-多语言处理多语言处理n服务端多语言处理nWeb框架基类BaseB

30、ean提供了getResoureText(String key)方法,从文件名等于类名的多语言文件中获取多语言文本;ncom.kingdee.bos.waf.resource.Resources提供了getText(String bundle, String key)方式更加灵活的获取多语言信息。n客户端JSF视图标签多语言处理n通过EL表达式获取多语言信息:#messages资源键n客户端javascript脚本多语言处理n对于jsp视图,通过扩展jsp的TagSupport,实现把服务端资源文件动态生成客户端javascript多语言脚本数组,然后在js脚本中通过操作此数据来获取相应的多语

31、言信息;n对于facelet视图,需要通过扩展TagHandler来实现jsp一样的标签功能,对于视图部分使用上对开发者是一致的。用法:在JSF视图中申明,然后就可以在javascript中使用resource“key”即可获取对应的多语言字符。 P57 版权所有 1993-2006 金蝶软件(中国)有限公司P57Waf UI通用处理-应用上下文应用上下文P58 版权所有 1993-2006 金蝶软件(中国)有限公司P58Waf UI通用处理-异常处理异常处理nHTTP错误异常n包括用户访问的url不存在、会话失效、访问拒绝等,框架统一拦截,导航到统一的友好页面n系统异常n包括数据库取数出错、

32、代码运行空指针等,框架统一拦截,如果是ajax请求,弹出错误提示框;如果非ajax请求,导航到统一页面n用户异常n主要是便于开发人员把自己认为的异常逻辑或者在应用中出现的问题展现出来,框架统一拦截处理,异常处理方式跟上面“系统异常”处理一样P59 版权所有 1993-2006 金蝶软件(中国)有限公司P59Waf UI通用处理-通用过滤通用过滤n通用过滤n默认过滤n只需要在XXXListBean实现getQueryPK()即可n自定义过滤页面n提供一个继承monquery.UserQueryBean的ManagedBean,假如为MyUserQueryBean,同时还有相应的Facelets视

33、图,myUserQuery.xhtml;n在序时簿ManagedBean里,覆盖getUserQueryView()方法,返回上面的Facelets视图路径,例如: Override protected String getUserQueryView() return /mydemo/myUserQuery.xhtml ; P60 版权所有 1993-2006 金蝶软件(中国)有限公司P60Waf业务服务调用n单据套打n框架已经提供默认实现,用户只需要定义套打模板即可n通过导出PDF方式实现n网络互斥n数据互斥n避免同时编辑同一张单据n日志n框架默认已经提供,业务开发无需编码n色彩方案n目前支

34、持蓝、绿、红、橙四种色彩方案,默认蓝色n支持扩展(增加相应的色彩方案目录结构)P61 版权所有 1993-2006 金蝶软件(中国)有限公司P61Waf业务服务调用权限n权限控制n页面访问权限n页面按钮权限P62 版权所有 1993-2006 金蝶软件(中国)有限公司P62Waf业务服务调用编码规则n应用编码规则服务n定义相关编码规则,然后再Web单据里直接根据规则自动生成编码P63 版权所有 1993-2006 金蝶软件(中国)有限公司P63Waf业务服务调用工作流n单据的提交及工作流审批P64 版权所有 1993-2006 金蝶软件(中国)有限公司P64Waf业务服务调用工作流P65 版权

35、所有 1993-2006 金蝶软件(中国)有限公司P65Waf业务服务调用Botpn配置BOTP规则P66 版权所有 1993-2006 金蝶软件(中国)有限公司P66Waf业务服务调用Botpn在费用申请单通过关联生成操作完成费用报销单的生成P67 版权所有 1993-2006 金蝶软件(中国)有限公司P67Waf控件nF7 n容器控件 n复合控件 n枚举控件 n多语言控件 P68 版权所有 1993-2006 金蝶软件(中国)有限公司P68Waf控件 -F7主要属性:nqueryInfo:定义querynviewUrl属性定义打开自定义url,不写将使用通用f7界面。ndiaplayFor

36、mat : $name$ F7默认显示效果neditFormat : $number$ F7编辑时效果ncommitFormat : $number$npopWidth: 打开窗口宽npopHeight: 打开窗口高nmuti: 是否为多选模式nstore:绑定后台默认的数据集合,用于回填编辑table页面ncu: 是否cu过滤norgType:对应的组织类型nfilterInfo:缺省的过滤条件npermItemName:缺省绑定的权限项P69 版权所有 1993-2006 金蝶软件(中国)有限公司P69Waf控件 -F7nF7修改后如果需要触发服务端事件,可以通过ajaxaction,直接绑定datachanged属性的el表达式 nF7修改后如果需要触发客户端事件 可自行添加javascript脚本实现:Ext.onReady(function()F7.on(datachanged,function(old,new) /old的objectvalue/new的objectvalue););P70 版权所有 1993-2006 金蝶软件(中国)有限公司P70Waf控件 -F7nF7提供多选支持,可绑定list 和 数组。目前通过过滤界面添加了对于多选的支持,如果需要支持多选,f7添加属性muti=”t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论