下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
AEAIDP精 背景概相信很多了解數(shù)通暢聯(lián)軟件的人對AEAIDP應用開發(fā)平臺并不陌生,筆者在入職第一天就開始接觸AEAIDP,使用AEAIDP開發(fā)過AEAIWM、AEAI 中國XXXX管理系統(tǒng)項目,在此過程中對AEAIDP有了較為深入了解,工作之余其他AEAIDP初學者和使用人員有所幫助。AEAI按工程模塊資源不同粒度實現(xiàn)代碼增量部署類似AEAIESB中的按流程、服務、工程熱部署模式。預期讀AEAIDP技能要JavaWebAEAIDP架構及原DP產(chǎn)品架構解AEAIDPJavaWeb框架,在數(shù)通暢聯(lián)軟件中命名為Hotweb,第二部分基于Eclipse插件的擴展開發(fā)設計器,在數(shù)通暢聯(lián)軟件中命名為MiscdpStudio,第三部分是用于開發(fā)調(diào)試的服務器HotServerMiscdpStudio可以開發(fā)普通JavaWebJavaWeb應用,BPM流程平臺開發(fā)業(yè)務表單及流程相關功能。HotwebMVCFramework,對前端頁面交互及控制層做了統(tǒng)一封HandlerJavaDAOHelperService層調(diào)用通用數(shù)據(jù)存取類DAOHelperIBatis封裝,ServiceSpring來做事務控制和Howeb交互機Service:業(yè)務處理,包括接口及實現(xiàn),Spring配置,通過DaoHelper調(diào)SQLMapViewRender:PageBeanrequestattributesJSPPageBeanhandler中設置相關數(shù)據(jù)。postServletHandlerIdHandleractionType反射調(diào)用對應的處理actionType一致HandlerSpringService來存/ajaxRenderresponse返回頁面,異步加載或者做相關處理dispatchRenderhandler來進行處理典 層次結如上圖:moduleHandler、Service、SQLMapAEAIDP實現(xiàn)按模common包里放置的是公共類,controllerhandler,cxmodule里面方式的公共service接口類。配置文件說通過AEAIDP平臺開發(fā)生成相關的配置,下面對配置文件進行說明web.xml配web.xmlfilterServletHandler配1.HandlerModule.xmlHandlerContext.xmlHandler以及JSP。其中HandlerModule.xml中定義的是不同模塊下的映射關系而HandlerContext.xml中是公共的如主頁、左側功能列表的顯示等。Service配ServiceContext.xml中典型配置屬性:如數(shù)據(jù)庫、appConfigServiceModule.xmlServiceController類封裝成bean,并通過 指定對應的SqlMapServiceContext.xmlServiceDB相關配SqlMapModule.xmlSqlMapConfig.xmlsqlmap sqlmapsqlMapServiceImpl中開發(fā)與部工具設開發(fā)說AEAIDP開發(fā)平臺基于數(shù)據(jù)庫驅動開發(fā),推崇適度需求調(diào)研、數(shù)據(jù)庫設計先SQL由代碼,生成相關的代碼及配4—6注意:一旦擴展了代碼,就不能再次代碼生成,那樣會覆蓋擴展的代碼開發(fā)約束說UUID邏輯主鍵(36位所有編碼類數(shù)據(jù)在編碼管理模塊中統(tǒng)一SQL有參數(shù)需要解析,必須有“whereSVNCVS個字段必須為“BIZ_ID”、“RES_ID”char(36),建議主鍵命名為跨模塊調(diào)用說在AEAIDP中各個功能模塊是彼此的,這里就可能存在跨模塊調(diào)用問題index?SomeHandlerIDhandlercxmodule包里,可以采用代碼重構的方式,選中對應ctrl+shift+v。把sqlmap索引配置遷移公共索引配置(即SqlMapModule.xml中對應配置遷移至SqlMapConfig.xml模塊中的sqlmap文件也對應遷移公共sqlmap Java類類常用功能說SelectSelectRadioButtonFormSelectCheckBoxFormSelectHandlerProfileUserUserUser數(shù)據(jù)對象工具類,封裝ibatis的相關操SpringUUID部署方注意:服務器用戶名、在Hotserver中有對應的配置,如下圖在MiscdpStudio對工程中任意 “Miscdp資源部署,如下圖:彈出部署設置窗口,AEAIDP支持三種粒度部署模式:模塊、資源、應用。應用modulepackagemodule下的文件,按資源jsp,xml,js,java文件等為資源部署。當部署的內(nèi)容包含按應用按模塊xml、java文件等右鍵部署資源均為模塊部署,默認會重新加注意:jsp文件夾下右鍵資源部署(彈出界面如上圖)也為模塊部署,jspjsp文件,則為部署資源,且不用重啟應用(jsp是自動編譯。部署WebclassesWEB-INF/classesAEAIDPWeb應用部署后有一個特殊modulesclasses以及對應的配置文件都放置在這個里,如下圖。調(diào)試配制進行代碼調(diào)試,具體參見《AEAIDP開發(fā)平臺技術手冊》中的調(diào)試配置部分內(nèi)知識點匯分層解控制HandlerhandlerprepareDisplaystoreParamparam存到一個sessionnewLocalRenderer(getPage())LocalRendererexecuteRender方法中PageBeanhandlerPageBean中,通過JSPpageBeangetHandlerURL()handlerURL。getService方getService擴展方法機制說果不添加@PageActiondo+”actionType”+Action顯示jspPage指PagecontentTypeUTFEncodingjspcontentTypecharsetJsp動pageBean,jspjsp:useBeanJavaBean。jsp:setPropertyJavaBean的屬性。jsp:getProperty:輸出某個JavaBean的屬性。jsp:pluginJavaOBJECTEMBED標記Jsp表一般情況下頁面均會包含一個表id為form1actionTypeoperaType隱藏域,insert還是update。formactionpageBean.getHandlerURL()handler指定跳轉的路徑,method="post"post資源文Jsp<%@includefile="/jsp/inc/resource.inc.jsp"%>在該頁面中包括常用的javascript在script中定義頁面處理的JS,也可以直接封裝與于Util.js中常見的頁面校util.jsjsfunctiondoQuery(params)functiondoSubmit(reqOptions)functionsendRequest(targetUrl,params)(ajax處理style.csscssform、table、tr、td樣式以及按鈕的圖標樣式服務ervcel
繼承關系說Tabletable=getTableMetaData(tableName);List<Column>dateColumns=intTabletable=getTableMetaData(tableName);List<Column>dateColumns=intcount=for(inti=0;i<Columncolumn=dateColumns.get(i);StringcolumnName=column.getName();ObjectparamValue=if(paramValue!=null&¶mValueinstanceof&&!String.valueOf(paramValue).trim().equals("null")){}}}ifwhile(keys.hasNext()){Stringkey=Columncolumn=if(column!=Objectvalue=dataParam.get(key);ObjectconvertValue=convert.convert(value,column);}}}}protectedvoidprocessPrimaryKeys(DataParamparam){KeyGeneratorkeyGenerator=newKeyGenerator();if(Constants.PKTtectedvoidprocessPrimaryKeys(DataParamparam){KeyGeneratorkeyGenerator=newKeyGenerator();if(Constants.PKType.INCREASE.equals(pkGenPolicy)){}elseif(Constants.PKType.CHARGEN.equals(pkGenPolicy)){StringgenPk=keyGenerator.genKey();}}重點技常用方PageBeanpublicStringinputDate(Stringkey)publicStringinputTime(Stringkey)publicpublicStringinputDate(Stringkey)publicStringinputTime(Stringkey)publicStringinputValue(inti,Stringkey)publicStringselectValue(inti,Stringkey,StringpublicRadioGroupselectRadio(StringpublicpublicStringselectedValue(StringelementName)publicStringselectedText(StringelementName)publicStringdisabled(booleanexpression)publicStringreadonly(StringViewenderAjaxRenderAjaxRenderresponseDispatchRender:一般是轉向其他Handlerrequest和response可以支持跳轉到第按Backspace可以返LocalRenderJSPDateUtil類中預置許多關于日期處理的方法,例如:日期的格式化,日期的KeyGenerator.instance().genKey()加密通過CryptionUtil中的加密方法進行加密加密方法encryption("root"," ”為加密的KEY。decryption(secretData,UserUserUseruser(User)this.getUser()UseruserUserDataparamDataRow,,StringUtilStringUtilDataUtilListUtilDBUtilListUtilPopupBox.jsdiv+iframeJsPopupBoxvarAjaxfunctionpostRequest(form,params)postget配功能 、功能節(jié)點,而且可以給角色、群注意如果子節(jié)點,則父節(jié)點必然會如果只到父節(jié)點,子節(jié)點沒有被任何角色、群組、人員,則可以訪如果子節(jié)點已被其他的角色(群組、人員),則必須要對這些子節(jié)點進行,而不能通過到父節(jié)點的方式來子節(jié)點。操作通過jsp引入按鈕配置參見《AEAIDP按鈕權限配置說明,典型場使用ListUtil.toDataParam方法把結果集轉換為參數(shù)集合,類型為DaoHelpersqlmapinsertSQLJSP<tdonmouseover="onMover(this);"onmouseout="onMout(this);<tdonmouseover="onMover(this);"onmouseout="onMout(this);"onclick="doMoveUp()"class="bartdx"align="center"><inputid="upImgBtn" ;"title="上移"type="button"class="upImgBtn"style="margin-right:0px上移<tdonmouseover="onMover(this);"onmouseout="onMout(this);"onclick="doMoveDown()"class="bartdx"align="center"><inputid="downImgBtn"value="&;"title="下移"JSfunctionfunctionif(!isSelectedRow()){}}functionif(!isSelectedRow()){}}handlerpublicpublicViewRendererdoMoveUpAction(DataParamStringcurrentSubTableId=if(isFirst){getService().changeCurrentSort(param,}return}publicViewRendererdoMoveDownAction(DataParamStringcurrentSubTableId=booleanisLast=ifgetService().changeCurrentSort(param,}return}servicepublicpublicvoidchangeCurrentSort(DataParamparam,booleanisUp){StringsubId=param.get("currentSubTableId");StringstatementId=List<DataRow>records=StringtableName=subTableIdNameMap.get(subId);StringidField="當前表的主鍵字段名";StringcurrentId記錄標識StringsortField排序字段名DataRowcurRow=null;StringcurSort=null;if(isUp){DataRowbeforeRow=for(inti=0;i<records.size();i++){DataRowrow=records.get(i);StringtempId=if(currentId.equals(tempId)){curRow=row;beforeRow=records.get(i-}}curSort=StringbeforeSort=beforeRow.stringValue(sortField);;DataRownextRow=for(inti=0;i<records.size();i++){DataRowrow=records.get(i);String Id=if(currentId.equals(tempId)){curRow=row;nextRownextRow=}}curSort=StringnextSort=nextRow.stringValue(sortField);}}List<DataRow>records=getService() FormSelectformSelect=newFormSelect();selectList<DataRow>records=getService() FormSelectformSelect=newFormSelect();(值)然后new一個FormSelectid和valueputValuesformSelect中。在setAttributeparamformSelect將這個選中的值存入pcName中。HTMLWord、HtmlIOAPIjspcheckbox<<ec:rowpublicpublicViewRendererdoBatchDeleteAction(DataParamparam){Stringids=param.get("ids");String[]idArray=for(inti=0;i<idArray.length;i++<ec:columnwidth="50style="text-align:center"property="_0"title="序號"value="${GLOBALROWCOUNT}"/><ec:columnwidth="25"style="text-align:center"property="ID_ID"cell="checkbox"headerCell="checkbox"<inputtype="hidden"name="ids"value="<%=pageBean.inputValue("ids")%>"<tdonmouseover="onMover(this);"onmouseout="onMout(this);"class="bartdx"hotKey="D"align="center"onclick="doDeleteRequest()"><tdonmouseover="onMover(this);"onmouseout="onMout(this);"class="bartdx"hotKey="D"align="center"onclick="doDeleteRequest()"><input ;"title="刪除"type="button"id="delete"/>刪除functionfunctionvarids=varconfirmsubMsg="ids=ids+$(this).val()+",";if(ids.length>ids=ids.substring(0,ids.length-}if(confirm(confirmsubMsg))}}StringStringid=DataParamidParam=newDataParam();idParam.put("ID_ID",id);}}return}MVLTemplateRuntimepublicstaticvoidpublicstaticvoidmain(String[]args){StringtestFormula="@{value+5}";Map<String,Double>vars=newHashMap<String,Double>();vars.put("value",3.0);Numbernumber=(Number)TemplateRuntime.ev
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年黑龍江單招服裝設計專業(yè)技能經(jīng)典題含答案
- 2025年大學美術(藝術概論)試題及答案
- 2025年高職烘焙技術(蛋糕裝飾設計)試題及答案
- 2025年中職電子信息工程(電子基礎)試題及答案
- 2026年遼寧單招服裝設計專業(yè)面試經(jīng)典題含作品解讀
- 2026年內(nèi)蒙古單招機電類語數(shù)英經(jīng)典題集含答案省卷風格
- 2026年黑龍江單招財經(jīng)商貿(mào)類歷年高頻題含答案
- 2026春滬科技版(五四制)(2024)小學科學一年級下冊《設計和制作創(chuàng)意花盆》課時練習及答案
- 2026年浙江單招學前教育專業(yè)語文專項卷含答案兒歌創(chuàng)編作文
- 2026年廣西單招語文核心考點專項訓練含答案現(xiàn)代文閱讀古詩文鑒賞
- 2026年安康旬陽市殘疾人托養(yǎng)中心招聘(34人)參考題庫附答案
- 2025年河北地質(zhì)大學第二次公開招聘工作人員65人備考題庫完整答案詳解
- 安全崗面試題庫及答案
- 2025年勞動合同(兼職設計師)
- 2025至2030中國牙科高速手機行業(yè)調(diào)研及市場前景預測評估報告
- 2025年遼寧地區(qū)農(nóng)村電力服務有限公司聯(lián)合招聘筆試參考試題附答案解析
- 2025年社保局結構化面試題庫及答案
- 旱獺繁殖生態(tài)學-洞察及研究
- 2025中國兵器工業(yè)集團航空彈藥研究院有限公司招聘安全總監(jiān)1人考試筆試參考題庫及答案解析
- 事業(yè)單位聘用合同范本
- 重慶市大一聯(lián)盟2026屆高三上學期12月聯(lián)考數(shù)學試卷(含解析)
評論
0/150
提交評論