一、項目開發需要注意的幾點
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);
})
}