研發(fā)培訓(xùn)數(shù)據(jù)交互_第1頁
研發(fā)培訓(xùn)數(shù)據(jù)交互_第2頁
研發(fā)培訓(xùn)數(shù)據(jù)交互_第3頁
研發(fā)培訓(xùn)數(shù)據(jù)交互_第4頁
研發(fā)培訓(xùn)數(shù)據(jù)交互_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

前后臺數(shù)據(jù)交互目錄前臺提交數(shù)據(jù)后臺數(shù)據(jù)處理后臺傳值前臺dto方法dao方法常用工具類同步提交異步提交getJson文件上傳setDatasetListsetSelectInputListsetMsg/setTopMsg前臺提交數(shù)據(jù)同步提交異步提交getJson文件上傳同步提交submitForm(formId,onSubmit,autoValidate,url,parameter)注意事項(xiàng): 1.formId必須傳 2.onSubmit中返回false則不進(jìn)行提交,回調(diào)函數(shù)沒有括號 3.同步提交在action中返回新的頁面 4.默認(rèn)自動校驗(yàn) 5.可以不傳url,在form標(biāo)簽里寫aciton屬性 6.parameter中JSON數(shù)據(jù)格式,{"dto['字段']":"值"}異步提交submit(submitIds,url,parameter,onSubmit,autoValidate, succCallback,failCallback)注意事項(xiàng): 1.onSubmit必須返回true/false,false時(shí)不提交 2.異步方法,在action中返回JSON自動處理 3.默認(rèn)不校驗(yàn),校驗(yàn)失敗不提交getJsongetJson(url,parameter,callback,async)注意事項(xiàng): 1.當(dāng)action中有setData('','')返回時(shí),無法直接給組件賦值,只能通過Data.field.字段來獲取 2.action中可以有writeJsonToClient(obj)返回時(shí),此對象為一個(gè)數(shù)組。 3.action中使用returnnull時(shí)必須有writeJsonToClient 4.saync控制同步還是異步提交,默認(rèn)同步文件上傳基礎(chǔ)上傳uploadify/fileupload文件上傳1.效果圖2.說明a.只能上傳單個(gè)文件b.需要手動寫輸入輸出流一.基礎(chǔ)上傳文件上傳<ta:boxid="add"heightDiff="0"cssStyle="padding:10px"> <ta:boxid="file_id"cssClass="textCss"> <ta:textid="theFile"key="資源文件"type="file"name="theFile"required="true"/> </ta:box></ta:box>3.頁面代碼functionfnSaveAdd(){ vartheFile=$("#theFile").val(); if(Base.validateForm("form1")){ varparam={}; param["dto['filename']"]=theFile; Base.submitForm('form1',null,false, "fileupAction!uplode.do",param); }}文件上傳4.后臺代碼publicStringuplode()throwsException{ ParamDTOdto=getDto(); Stringfilename=getDto().getAsString("filename"); StringfileStr=filename.substring(filename.lastIndexOf("\\")+1); InputStreamins=newFileInputStream(theFile.getPath());

//theFile自定義變量,有g(shù)et/set方法 FileoutFile=newFile("E:\\"+fileStr); //文件的保存名,自定義 if(outFile.exists()){ setMsg("該文件已存在");returnSUCCESS; } FileOutputStreamoutStream=newFileOutputStream(outFile); inttotal=ins.available(); intn=(int)Math.floor(total/10000); //50000字節(jié)的緩沖區(qū)可以自定義 intleave=(int)total%10000; byte[]inOutb=null; if(n>0){ for(inti=0;i<n;i++){ inOutb=newbyte[10000]; ins.read(inOutb,0,10000); outStream.write(inOutb);//寫出流 outStream.flush(); } } inOutb=newbyte[leave]; ins.read(inOutb,0,leave); outStream.write(inOutb); outStream.flush(); //將字節(jié)寫到文件寫完 ins.close(); outStream.close(); setTopMsg("文件上傳成功");returnSUCCESS;}文件上傳二.uploadify/fileupload說明: 1.這兩個(gè)組件都是框架封裝的獨(dú)立標(biāo)簽 2.fileupload是單文件上傳,uploadify是多文件上傳

后臺數(shù)據(jù)處理dto方法dao方法常用工具類dto方法java.lang.Objectjava.util.AbstractMap<K,V>java.util.HashMapcom.yinhai.sysframework.dto.BaseDTOParamDTOPrcDTODTOSerializableCloneableMap一.dto之間的關(guān)系繼承類實(shí)現(xiàn)接口子類dto方法二.ParamDTO的方法1.獲取用戶信息publicIUsergetUserInfo()getUserid/getUserId獲取用戶系統(tǒng)idgetLoginid/getLoginId登錄賬號getName獲取姓名getNowPosition當(dāng)前使用的崗位getYab003/getOrgId分中心getDepartId獲取直屬部門/機(jī)構(gòu)的idgetYab139獲取當(dāng)前崗位所屬組織的數(shù)據(jù)區(qū)注:"/"過后的是為了兼容老版本dto方法2.獲取表格信息publicIntegergetStart(StringgridId)publicIntegergetLimit(StringgridId)當(dāng)頁面上傳入一個(gè)分頁表格的id,可以獲取到分頁表格當(dāng)前頁和每頁條數(shù)的信息publicBaseDTOgetGridInfo()當(dāng)頁面?zhèn)魅胍粋€(gè)表格的id,可以獲取表格的新增/修改/刪除/編輯行的信息dto方法3.獲取參數(shù)信息publicIntegergetAsInteger(Stringkey,intdefaultValue)包括取各種格式的信息,以下為一個(gè)例子可傳一個(gè)參數(shù)或兩個(gè)參數(shù),第一個(gè)為取得字段名稱,第二個(gè)為空時(shí)的默認(rèn)值。dto方法4.檢查空值方法publicbooleanisEmpty(Stringkey)publicbooleanisNotEmpty(Stringkey)dto方法5.轉(zhuǎn)換格式方法publicStringtoXML()publicStringtoString()publicVOtoVO(StringvoClass)publicDomainObjecttoDomainObject(StringdomainClass)publicDomainObjectgetAsDomainObject(Stringkey)publicMapgetDtoAsMap()dto方法6.其他方法publicjavax.servlet.http.HttpServletRequestgetRequest()可以得到request,然后獲取各種請求的信息dao方法1.基礎(chǔ)增刪改查方法和調(diào)存儲過程intdelete(StringstatementName,Objectobj)Objectinsert(StringstatementName,Objectobj)intupdate(StringstatementName,Objectobj)ObjectqueryForObject(StringstatementName,Objectobj)ListqueryForList(StringstatementName,Objectobj)voidcallPrc(StringprcName,PrcDTOdto)throwsPrcExceptiondao方法2.分頁查詢ListqueryForPage(StringgridId,StringstatementName, ParamDTOparamDTO)PageBeanqueryForPageWithCount(StringgridId,StringstatementName, Objectobj,ParamDTOparamDTO)voidqueryWithRowHandler(StringstatementName,ObjectparameterObject, com.ibatis.sqlmap.client.event.RowHandlerrowHandler, intskipResults,intmaxResults)dao方法3.批量新增intinsertBatch(StringstatementName,List<?>list)注意事項(xiàng): 1.只有一個(gè)事務(wù) 2.返回的是成功的條數(shù) 3.第一個(gè)參數(shù)為調(diào)用的sql,第二個(gè)參數(shù)中每條數(shù)據(jù)對應(yīng)一次新增常用工具類ValidateUtilWebUtilJSonFactoryDateUtil常用工具類1.ValidateUtilisEmpty/isNotEmpty(Objectobj/Stringstr/Connectioncon)判斷是否為空值areEqual(Objectobj,Objectobj2)判斷兩個(gè)對象是否相等areEqualIgnoreCase(Stringobj,Stringobj2)判斷兩個(gè)字符串是否相等a.常用方法常用工具類isAlphabetic(Strings) 是否只有字母isDate(Stringdate) 是否是日期格式isEmail(Strings) 是否是郵件格式isInteger(Strings) 是否是Integer格式isMinute(Strings) 是否是分鐘格式(0-59)b.判斷格式方法常用工具類c.其他方法daysInFebruary(intyear)isDateAfterDate(Stringdate,DatetheDate)isIntegerInRange(Strings,inta,intb)返回指定年的二月的天數(shù)判斷第一個(gè)日期是否在第二個(gè)日期之后判斷字符串?dāng)?shù)字是否在(a,b)之間常用工具類2.WebUtilIUsergetUserInfo(HttpServletRequestrequest)獲取用戶信息和dto中的getUserInfo是同一個(gè)方法StringgetRequestUrl(HttpServletRequestrequest)獲取訪問功能的URLStringgetUserAgent(HttpServletRequestrequest)獲取訪問的用戶瀏覽器和操作系統(tǒng)StringgetClientIp(HttpServletRequestrequest)獲取本機(jī)IP地址isAjaxRequest(HttpServletRequestrequest)判斷是否是Ajax請求常用工具類3.JSonFactoryStringbean2json(Objectsrc)<T>Tjson2bean(Stringjson,Class<T>classOfT)StringtoJson(Stringret)StringgetJson(Stringret)處理值里面有轉(zhuǎn)義符的字符串,采用toJSONString的方法處理值里面有轉(zhuǎn)義符的字符串常用工具類4.DateUtilintcomputeDateOnly(StringdateBegin,StringdateEnd,Stringformat,booleanbWith)

溫馨提示

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

最新文檔

評論

0/150

提交評論