金蝶easv8.平臺(tái)培訓(xùn)-運(yùn)行框架篇_第1頁
金蝶easv8.平臺(tái)培訓(xùn)-運(yùn)行框架篇_第2頁
金蝶easv8.平臺(tái)培訓(xùn)-運(yùn)行框架篇_第3頁
金蝶easv8.平臺(tái)培訓(xùn)-運(yùn)行框架篇_第4頁
金蝶easv8.平臺(tái)培訓(xùn)-運(yùn)行框架篇_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余31頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、所屬部門 BOS Web平臺(tái)系統(tǒng)部BOS 新Web平臺(tái)培訓(xùn)-運(yùn)行框架篇Web動(dòng)態(tài)框架-基本介紹技術(shù)框架兩種請(qǐng)求方式EventBusWeb動(dòng)態(tài)框架-JSP與JS說明Web動(dòng)態(tài)框架-EventBus應(yīng)用Web動(dòng)態(tài)框架-模塊化與多組織實(shí)現(xiàn)Web動(dòng)態(tài)框架-開發(fā)建議提綱Web動(dòng)態(tài)框架-技術(shù)框架Client/BrowserWeb Server界面動(dòng)態(tài)渲染HTTP Service Dispatcher通用業(yè)務(wù) ServiceBOTP工作流附件管理顯示風(fēng)格CSS3業(yè)務(wù)事件邏輯JS基礎(chǔ)控件JQUERY編碼規(guī)則Application Server模塊A后臺(tái)服務(wù)模塊B后臺(tái)服務(wù)模塊C后臺(tái)服務(wù)模塊D后臺(tái)服務(wù)模塊后臺(tái)服務(wù)

2、EventBusJSONConvertInterceptor權(quán)限LicenseRemoteLocalJsonIOCRemoteLocalRemotelocalRemoteLocalRemoteLocal業(yè)務(wù)HandlerHTTP緩存處理業(yè)務(wù)Handler服務(wù)注入導(dǎo)入/導(dǎo)出服務(wù)模塊后臺(tái)服務(wù)RemoteLocalRemoteLocal.基礎(chǔ)服務(wù)模塊后臺(tái)服務(wù)基礎(chǔ)服務(wù)新的頁面由瀏覽器端發(fā)起Http請(qǐng)求或從頁面內(nèi)部發(fā)出的Http請(qǐng)求必須提供頁面方案uipk和初始化動(dòng)作申請(qǐng)action=initialize頁面內(nèi)部發(fā)出的Http請(qǐng)求可由dynamicForm.addNewWindow發(fā)起由Server端響

3、應(yīng)(DynamicWebController. doEvent)構(gòu)造改頁面方案對(duì)應(yīng)的事件總線的UIC(UI事件配置)調(diào)用initializeAction對(duì)應(yīng)的頁面初始化事件返回具體的頁面內(nèi)容由Web端重定向到新的JSP頁面由瀏覽器端接收,執(zhí)行頁面中的初始化方法,發(fā)起js端事件總線中的初始化事件渲染頁面、初始化頁面并完成數(shù)據(jù)加載Web動(dòng)態(tài)框架-頁面請(qǐng)求說明Web動(dòng)態(tài)框架- 頁面請(qǐng)求基礎(chǔ)流程urlJs事件PageOnLoad后插邏輯攔截器Web端框架License用戶監(jiān)控行為采集性能監(jiān)控主業(yè)務(wù)組織處理Web端(onLoad)功能權(quán)限前插入邏輯后插入邏輯App端處理邏輯日志數(shù)據(jù)權(quán)限Client/Br

4、owseWeb ServerApp JSP頁面HTML頁面加載HTML頁面提交Ajax請(qǐng)求由瀏覽器端發(fā)起Ajax請(qǐng)求(waf.doPost)必須提供頁面方案UIPK并且action=調(diào)用的動(dòng)作名稱由Server端響應(yīng)(DynamicWebController. doEvent)構(gòu)造改頁面方案對(duì)應(yīng)的事件總線的UIC(UI事件配置)調(diào)用該動(dòng)作對(duì)應(yīng)的事件返回事件處理器的結(jié)果由瀏覽器端接收結(jié)果根據(jù)接收結(jié)果的成功或失敗,刷新頁面的不同區(qū)域或數(shù)據(jù)Web動(dòng)態(tài)框架-AJAX請(qǐng)求Web動(dòng)態(tài)框架- Ajax請(qǐng)求基礎(chǔ)流程actionJs事件處理前插入邏輯覆蓋邏輯后插入邏輯攔截器Web端框架License用戶監(jiān)控行為

5、采集性能監(jiān)控主業(yè)務(wù)組織處理Web端處理邏輯功能權(quán)限前插入邏輯覆蓋邏輯后插入邏輯App端處理邏輯日志數(shù)據(jù)權(quán)限Client/BrowseWeb ServerApp EventBus:事件處理總線目標(biāo):利用可插拔的插件機(jī)制,實(shí)現(xiàn)系統(tǒng)可擴(kuò)展性及松耦合在JS層和WebServer層分別實(shí)現(xiàn)并提供插入機(jī)制幾個(gè)概念:Action:動(dòng)作PlugIn:插件Event:響應(yīng)的事件,是一個(gè)具體java類Hander:對(duì)應(yīng)的具體實(shí)現(xiàn),是一個(gè)具體java類UICUI配置文件,為EventBus提供調(diào)用的基礎(chǔ)框架提供基本的三種類型的UIC(CorePage.uic、ListPage.uic、EditPage.uic)業(yè)務(wù)

6、開發(fā)和擴(kuò)展開發(fā)可通過定義工具擴(kuò)展UIC的內(nèi)容Web動(dòng)態(tài)框架-EventBus與UIC說明Web動(dòng)態(tài)框架- EventBus事件總線 Event Bus頁面初始化實(shí)現(xiàn)器數(shù)據(jù)服務(wù)實(shí)現(xiàn)器頁面動(dòng)作實(shí)現(xiàn)器業(yè)務(wù)組件實(shí)現(xiàn)器業(yè)務(wù)應(yīng)用實(shí)現(xiàn)器擴(kuò)展開發(fā)實(shí)現(xiàn)器初始化事件數(shù)據(jù)查詢新增事件刪除事件提交事件審核事件業(yè)務(wù)組件實(shí)現(xiàn)器業(yè)務(wù)組件實(shí)現(xiàn)器業(yè)務(wù)應(yīng)用實(shí)現(xiàn)器業(yè)務(wù)應(yīng)用實(shí)現(xiàn)器擴(kuò)展開發(fā)實(shí)現(xiàn)器擴(kuò)展開發(fā)實(shí)現(xiàn)器頁面動(dòng)作實(shí)現(xiàn)器頁面動(dòng)作實(shí)現(xiàn)器數(shù)據(jù)服務(wù)實(shí)現(xiàn)器數(shù)據(jù)服務(wù)實(shí)現(xiàn)器頁面初始化實(shí)現(xiàn)器頁面初始化實(shí)現(xiàn)器Web動(dòng)態(tài)框架-基本介紹Web動(dòng)態(tài)框架-JSP與JS說明JSP介紹JS介紹Web動(dòng)態(tài)框架-EventBus應(yīng)用Web動(dòng)態(tài)框架-模塊化與多組織實(shí)

7、現(xiàn)Web動(dòng)態(tài)框架-開發(fā)建議提綱空白頁面(dynamicForm.jsp)列表界面(dynamicList.jsp)編輯/查看界面(dynamicEdit.jsp)在WAF的MVC概念中,JSP作為View顯示,承載界面顯示功能。主要作為:引用JS腳本和CSS腳本把動(dòng)態(tài)UI模型元數(shù)據(jù)、數(shù)據(jù)Model的內(nèi)容、及一些必要的系統(tǒng)元素賦予給對(duì)應(yīng)的JS中的對(duì)象。承載界面顯示W(wǎng)eb動(dòng)態(tài)框架-JSP介紹空白頁面(dynamicForm.js)列表界面(dynamicList.js)編輯/查看界面(dynamicEdit.js)其他工具類瀏覽器端EventBus工具(eventbuseventbus.js)多語

8、言資源(i18ndynamicXXX_zh_CN.js)動(dòng)態(tài)頁面構(gòu)建器( utilspagerBuilder.js )數(shù)據(jù)綁定器(utilsdataBinder.js)Web動(dòng)態(tài)框架-JS介紹Web動(dòng)態(tài)框架-JS介紹-空白頁面主要事件如下:頁面打開事件:pageOnLoadEvent頁面渲染事件:pageOnRenderEvent頁面初始化數(shù)據(jù)事件:initDataEvent頁面關(guān)閉事件:pageOnCloseEvent注冊(cè)主業(yè)務(wù)組織事件:getMainOrgF7Event注冊(cè)主業(yè)務(wù)組織變化事件:afterMainOrgChangedEvent 界面完全裝載之后的事件: pletedEvent

9、頁面打開頁面渲染初始化數(shù)據(jù)注冊(cè)主業(yè)務(wù)組織頁面完全裝載提供動(dòng)態(tài)頁面的基礎(chǔ)功能主要方法如下:getUIPk:獲得當(dāng)前頁面的UI方案getPageInitData:獲得后臺(tái)返回的初始化數(shù)據(jù)fireEvent:觸發(fā)瀏覽器端eventbus事件addNewWindow:打開一個(gè)新窗口closeCurrentWindow:關(guān)閉當(dāng)前窗口updateWindow:更新當(dāng)前窗口changeTitle:設(shè)置頁面標(biāo)題showMessage:顯示提示信息clearError:清除提示信息Web動(dòng)態(tài)框架-JS介紹-空白頁面 ponent:搜索頁面組件searchField:按元數(shù)據(jù)屬性搜索頁面組件 ponentVisi

10、ble:設(shè)置頁面組件的可見性 ponentEnable:設(shè)置頁面組件的使能setFieldVisible:按元數(shù)據(jù)的屬性設(shè)置頁面組件的可見性setFieldEnable:按元數(shù)據(jù)的屬性設(shè)置頁面組件的使能getCurrentModelOrgType:獲得當(dāng)前數(shù)據(jù)的主業(yè)務(wù)組織類型getCurrentModelOrgProperty:獲得當(dāng)前數(shù)據(jù)的主業(yè)務(wù)組織的屬性addEASMutilOrgParam:為Http請(qǐng)求增加多組織參數(shù)_getMainOrgF7EventHandler:返回主業(yè)務(wù)組織對(duì)應(yīng)的頁面F7控件Web動(dòng)態(tài)框架-JS介紹-空白頁面Web動(dòng)態(tài)框架-JS介紹-列表頁面繼承空白頁面增加的主

11、要事件如下:新增事件:addNewActionEvent刪除事件:deleteActionEvent修改事件:editActionEvent復(fù)制事件:copyActionEvent刷新時(shí)間: refreshActionEvent通用查詢初始化事件:queryOnInitEvent表格配置事件:gridConfigActionEvent 其他業(yè)務(wù)組件增加的事件主要方法如下:getEditUrl:獲得編輯頁面的UI方案getViewUrl:獲得查看頁面的UI方案getQueryPK:獲得當(dāng)前頁面表格中查詢使用的queryPKgetQueryUuid:獲得當(dāng)前頁面表格中虛模式查詢使用的uuidget

12、GridOrg:獲得當(dāng)前頁面表格中查詢使用的公司W(wǎng)eb動(dòng)態(tài)框架-JS介紹-列表頁面Web動(dòng)態(tài)框架-JS介紹-編輯/查看頁面繼承空白頁面增加的主要事件如下:新增事件:addNewActionEvent刪除事件:deleteActionEvent修改事件:editActionEvent復(fù)制事件:copyActionEvent保存事件:saveActionEvent保存并新增事件: saveAndAddNewActionEvent提交事件: submitActionEvent提交并新增事件: submitAndAddNewActionEvent信息塊新增一行事件:appendRowActionEve

13、nt信息塊刪除一行事件:deleteRowActionEvent表格新增一行事件:appendEntryRowActionEvent表格刪除一行事件:deleteEntryRowActionEventWeb動(dòng)態(tài)框架-JS介紹-編輯/查看頁面增加的主要事件如下:數(shù)據(jù)裝載事件:fieldOnLoadEvent數(shù)據(jù)更新事件:fieldOnStoreEvent判斷數(shù)據(jù)改變事件:judgeDataModifyActionEvent上一條事件:previousActionEvent下一條事件:nextActionEvent第一條事件:firstActionEvent最后一條事件:lastActionEve

14、nt其他業(yè)務(wù)組件增加的事件主要方法如下:getCurrentModel:獲得當(dāng)前頁面的數(shù)據(jù)getCurrentOperateState:獲得當(dāng)前頁面的操作狀態(tài)getEditUrl:獲得當(dāng)前頁面的UI方案isJudgeDataModify:判斷頁面中的數(shù)據(jù)是否修改setFieldValue :為某個(gè)屬性賦值getCurrentModelOrg :獲得當(dāng)前數(shù)據(jù)的主業(yè)務(wù)組織getQueryPK:獲得當(dāng)前頁面表格中查詢使用的queryPKgetQueryUuid:獲得當(dāng)前頁面表格中虛模式查詢使用的uuidWeb動(dòng)態(tài)框架-JS介紹-編輯/查看頁面Web動(dòng)態(tài)框架-基本介紹Web動(dòng)態(tài)框架-JSP與JS說明W

15、eb動(dòng)態(tài)框架-EventBus應(yīng)用Web動(dòng)態(tài)框架-模塊化與多組織實(shí)現(xiàn)Web動(dòng)態(tài)框架-開發(fā)建議提綱以下三個(gè)實(shí)現(xiàn),是頁面初始化的最基礎(chǔ)的實(shí)現(xiàn)首先獲得頁面元數(shù)據(jù),輸出元數(shù)據(jù)中的各種資源(多語言、組件狀態(tài)、標(biāo)題、擴(kuò)展JS路徑、緩存文件等JSP中需要的資源)框架初始化工作,返回一些組件的使能控制,包括操作狀態(tài)的控制、編碼規(guī)則的控制,按鈕權(quán)限的控制等最后重定向到JSP生成具體頁面空白頁面對(duì)應(yīng)DynamicWebController,映射路徑為dynamicPage.do列表頁面對(duì)應(yīng)DynamicWebListController,映射路徑為dynamicList.do編輯頁面對(duì)應(yīng)DynamicWebEdi

16、tController,映射路徑為dynamicForm.doWeb動(dòng)態(tài)框架-EventBus-初始化實(shí)現(xiàn)器CloseAction:正常關(guān)閉事件AddNewActionEvent:新增事件,轉(zhuǎn)發(fā)到新的UIPK的初始化方法EditActionEvent:的編輯事件,轉(zhuǎn)發(fā)到新的UIPK的初始化方法ViewActionEvent:查看事件,轉(zhuǎn)發(fā)到新的UIPK的初始化方DeleteActionEvent:刪除事件WebListDataEvent:查詢事件,轉(zhuǎn)發(fā)到表格的getGridDataCopyActionEvent:復(fù)制事件SubmitActionEvent:提交事件SaveActionEvent

17、:保存事件AppendRowActionEvent:新增行事件DeleteRowActionEvent: 刪除行事件ModelCreateEvent:數(shù)據(jù)新建事件ModelLoadEvent:數(shù)據(jù)加載事件NumberRuleEvent:生成編碼規(guī)則事件PermissionFunctionCheckEvent:校驗(yàn)按鈕權(quán)限事件Web動(dòng)態(tài)框架-EventBus-其他事件Web動(dòng)態(tài)框架-模塊化說明每個(gè)JS都是一個(gè)模塊,模塊可以對(duì)外暴露公開的方法和屬性,模塊與模塊之間通過依賴來互相交互。動(dòng)態(tài)框架的每個(gè)頁面按需加載JS資源,所以每個(gè)加載的JS都必須是一個(gè)模塊??蚣苤心K分兩種,分別是通用模塊和頁面模塊。

18、通用模塊的依賴關(guān)系自己寫在JS中,使用mod.defineModule來定義,通用JS需要自己編寫,然后導(dǎo)入到定義工具中。頁面模塊的依賴關(guān)系通過定義工具導(dǎo)入進(jìn)來,使用mod.definePage來定義,定義工具會(huì)自動(dòng)生成頁面的相關(guān)JS結(jié)構(gòu)。前端頁面加載時(shí),會(huì)按照模塊的依賴關(guān)系以此加載JSWeb動(dòng)態(tài)框架-基本介紹Web動(dòng)態(tài)框架-JSP與JS說明Web動(dòng)態(tài)框架-EventBus應(yīng)用Web動(dòng)態(tài)框架-模塊化與多組織實(shí)現(xiàn)Web動(dòng)態(tài)框架-開發(fā)建議提綱Web動(dòng)態(tài)框架-通用模塊定義defineModule(moduleName,deps,callback)moduleName: 為自webviews目錄下的路

19、徑名稱+文件名,不帶文件的后綴,比如上例中的文件路徑為 mon_utils.js,實(shí)際模塊名為 mon_utilDeps: 依賴的JS,必須是一個(gè)JS數(shù)組,框架提供的通用模塊可以從幫助系統(tǒng)中查看.Callback: 當(dāng)依賴的模塊都加載之后執(zhí)行的回調(diào)函數(shù),回調(diào)函數(shù)的默認(rèn)參數(shù)是waf, 如果要使用arap_util中提供的方法,可以在代碼中定義變量arap_util,然后使用mod.useSync來獲取arap_util對(duì)外暴露的方法。Web動(dòng)態(tài)框架-頁面模塊定義definePage(moduleName, callback)moduleName: 為自webviews目錄下的路徑名稱+文件名,不

20、帶文件的后綴,比如上例中的文件路徑為 mon_utils.js,實(shí)際模塊名為 mon_utilDeps: 一般不用定義頁面的依賴關(guān)系,頁面的依賴關(guān)系在定義工具中導(dǎo)入Callback: 當(dāng)依賴的模塊都加載之后執(zhí)行的回調(diào)函數(shù),回調(diào)函數(shù)的默認(rèn)參數(shù)是waf.頁面依賴的JS模塊頁面的主JS永遠(yuǎn)位于最后definePage的定義由定義工具自動(dòng)生成每個(gè)頁面都有一個(gè)主JS,并且這個(gè)JS必須位于導(dǎo)入資源列表的最后一項(xiàng)。Web動(dòng)態(tài)框架-頁面模塊示例definePage中一般不用定義依賴關(guān)系。如果在定義工具上導(dǎo)入了5個(gè)JS模塊,在A區(qū)工具會(huì)自動(dòng)的生成模塊對(duì)應(yīng)的變量。B區(qū)中定義了變量_public和_private,

21、 在工具中定義的事件等都會(huì)在_public和_private中生成方法,_public中的方法調(diào)用_private中的方法。真正的業(yè)務(wù)代碼都寫在C區(qū)間像其他模塊一樣,頁面也會(huì)返回_public中注冊(cè)的方法,供外部使用。頁面重新保存之后,除C區(qū)之外,其他區(qū)域的代碼會(huì)被覆蓋。Web動(dòng)態(tài)框架-頁面依賴關(guān)系說明頁面的依賴關(guān)系說明:如果A擴(kuò)展自B, B擴(kuò)展自C,則在定義工具資源列表中的順序是C-B-A。每個(gè)頁面有一個(gè)主JS, 頁面運(yùn)行時(shí)通過這個(gè)主JS驅(qū)動(dòng)其他依賴項(xiàng)的加載,主JS必須位于資源列表的最后一項(xiàng)。頁面之間的依賴沒有層級(jí)關(guān)系,依賴的頁面自動(dòng)使用主頁面JS的依賴項(xiàng)。比如A擴(kuò)展自B, B中有三個(gè)依賴項(xiàng)

22、分別是B1,B2,B3.A的依賴項(xiàng)就是B1,B2,B3, B.如果A增加了依賴項(xiàng)A1,并且A1與B1,B2,B3,B沒有關(guān)系,則A的依賴項(xiàng)順序是:B1,B2,B3,B,A1. 如果A中增加了依賴項(xiàng)A1,A1也依賴了A2,應(yīng)該將A2也加入到資源列表中,此時(shí)A的依賴項(xiàng)就是:B1,B2,B3,B,A2,A1.每個(gè)模塊只會(huì)被加載一次,比如B1被B頁面加載過之后,A頁面依賴B1的時(shí)候,會(huì)直接從緩存中獲取。頁面之間不能存在循環(huán)依賴,也就是A依賴B,同時(shí)B依賴A.Web動(dòng)態(tài)框架-模塊化與打包關(guān)系壓縮打包做好業(yè)務(wù)模塊之后,打補(bǔ)丁的時(shí)候會(huì)對(duì)業(yè)務(wù)的所有JS進(jìn)行壓縮壓縮之后的JS放置在bin目錄下,和webview

23、s下的目錄一致,只是把webviews變成了bin開發(fā)期(debug=true):由主JS驅(qū)動(dòng),會(huì)將依賴的JS依次加入進(jìn)來。加入進(jìn)來的每個(gè)JS是單個(gè)的JS文件,方便調(diào)試。運(yùn)行期(debug=false)會(huì)從元數(shù)據(jù)中解析所用到的所有組件,導(dǎo)入的資源等,并依次解析他們的依賴關(guān)系。會(huì)對(duì)這些依賴關(guān)系進(jìn)行排序,并動(dòng)態(tài)的對(duì)壓縮后的JS進(jìn)行連接當(dāng)某個(gè)JS發(fā)生變化的時(shí)候,會(huì)自動(dòng)的重新進(jìn)行連接瀏覽器端處理邏輯:通過waf.getContext()獲得contextContext中mainorgunit、mainorgtype參數(shù),分別對(duì)應(yīng)主業(yè)務(wù)組織和主業(yè)務(wù)組織類型框架提供了getMainOrgF7和afterM

24、ainOrgChangedEvent兩個(gè)事件getMainOrgF7事件,返回當(dāng)前主業(yè)務(wù)組織的F7控件afterMainOrgChangedEvent事件,更新Context中mainorgunit發(fā)起頁面請(qǐng)求或Ajax請(qǐng)求時(shí),從Context獲得mainorgunit、mainorgtype參數(shù)并增加的Http請(qǐng)求的頭信息中通過getMainOrgF7正常改變主業(yè)務(wù)組織,框架自動(dòng)更新context中的相關(guān)信息如頁面過程中,特殊改變主業(yè)務(wù)組織,需要通過代碼更新context中的相關(guān)信息Web動(dòng)態(tài)框架-多組織處理Web Server端處理邏輯通過攔截器獲得http請(qǐng)求中的mainorgunit和

25、mainorgtype增加這兩個(gè)參數(shù)的內(nèi)容到context中列表界面形成MutiOrgPermParam參數(shù)空白頁面、編輯界面增加一組數(shù)據(jù)通過線程變量傳遞當(dāng)前context的內(nèi)容到App Server端Web Server端處理邏輯RPC調(diào)用時(shí)根據(jù)線程變量統(tǒng)一轉(zhuǎn)化調(diào)用接口如果有主業(yè)務(wù)組織,調(diào)用XXXRemoteInstanceWithObjectContext接口否則,正常調(diào)用XXXRemoteInstance接口Web動(dòng)態(tài)框架-多組織處理Web動(dòng)態(tài)框架-基本介紹Web動(dòng)態(tài)框架-JSP與JS說明Web動(dòng)態(tài)框架-EventBus應(yīng)用Web動(dòng)態(tài)框架-模塊化與多組織實(shí)現(xiàn)Web動(dòng)態(tài)框架-開發(fā)建議提綱E

26、ventBus提供給JS和Web Server的唯一擴(kuò)展方式,務(wù)必使用。JS端初始化主要擴(kuò)展二個(gè)事件:pageOnLoad:可增加后處理,完成頁面元數(shù)據(jù)加載后的業(yè)務(wù)處理邏輯fieldOnLoad:可增加后處理,完成與數(shù)據(jù)相關(guān)的業(yè)務(wù)處理邏輯Ajax請(qǐng)求,調(diào)用waf.doPost完成,不能使用其他類庫頁面內(nèi)申請(qǐng)打開新頁面,調(diào)用_self.addNewWindow,不要直接使用其他方式。任何后臺(tái)請(qǐng)求,都需要通過action調(diào)用發(fā)起不要輕易覆蓋js的方法,通過事件覆蓋和_self.getOptionFromArguments()獲得doPost的參數(shù),只更改相關(guān)內(nèi)容,再調(diào)用框架提供方法即可WebServer端的handle要繼承AbstractWebEventHandler覆蓋框架的action,需要從已有的ActionHandler類繼承其他請(qǐng)參考EAS標(biāo)準(zhǔn)開發(fā)規(guī)范Web動(dòng)態(tài)框架-開發(fā)建議特別聲明沒有金蝶軟件國際軟件集團(tuán)有限公司的特別許可,任何人不能以任何形式或?yàn)槿魏文康膹?fù)制或傳播本文檔的任何部分。本文檔中包含的信息如有更改,恕不另行通知。由金蝶軟件(中國)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論