一、项目开发需要注意的几点
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);
})
}