1. 程式人生 > >web專案開發總結

web專案開發總結

一、專案開發需要注意的幾點
1.系統佈局選擇非常重要,選擇合適的UI能夠庫快速的開發
2.系統後臺框架,選擇spring+springMVC+hibernate
3.前端的js框架,jQuery+jQuery UI+page
4.新增、修改前端傳送json格式,所有的資料一次性發送
5.查詢的複雜條件採用json格式,簡單ID查詢採用form-data格式
6.表單刪除採用邏輯刪除,一定要設定有效控制欄位
7.頁面佈局要素,表格頁面要分頁,表單頁面採用name作為區分屬性
8.表單採用彈出模式
9.表單有增刪改查,查詢有重置,新增有判斷是否為空
二、專案遇到的問題
1.沒有做詳細的需求分析,產品的需求一邊開發一邊探討,導致開發時邏輯混亂,程式碼混亂,切記,以後沒有專案都應該有一份功能需求分析文件(劃分功能點)。
2.開發前沒有詳細的設計規範,沒有介面文件,導致開發步驟亂七八糟
3.命名太頭疼
4.頁面設計過於依賴複製
5.表單登入一定要謹慎使用form
三、幾個主要問題的解決方法
1.時間插入控制元件,jQuery UI控制元件有存在bug,解決方法用laydate時間插入控制元件
2.hibernate的一對多與多對一關聯的知識竟然忘記的,用了一對多雙向關聯時,防止json轉換死迴圈,需要新增@JsonIgnoreProperties(value = {“number”}) number 代表類的屬性欄位
3.一次性儲存表格資料時採用獲取方法(獲取每一行的元素再根據name封裝成object 在放入Array中)

/**設定會員繳費資訊*/
        function setHuiFei(numdata) {
          var hfArray=[];
          for(var i=2010;i<=2020;i++){
              var hfobj=new Object();
              var objArray=$('.tr'+i+' .huifei');
              for (var j = 0; j < objArray.length; j++) {
                   var hfname = objArray[j].name;
                   var
hfvalue = objArray[j].value.toString(); if (hfvalue != "") { eval("hfobj." + hfname + "='" + hfvalue + "'"); } } hfArray.push(hfobj); } numdata.huiFeiSet=hfArray; return numdata; }

4.一次性賦值表格中遍歷object獲取object中list類別,再遍歷list列表

/**繫結稽核資訊*/
function bingHeSet(data){
for(var j=0;j<data.length;j++){
                var obj=data[j];
                jQuery.each(obj, function(i, val) { 
                    $('.tr'+obj.year+' .shenhe[name="'+i+'"]').val(val);
                })
                }