2019年11日9日

    今天完成了empAdd功能,到这里,HRMS的基本功能已完成,涉及emp和dept的增删改查基本功能。


编程过程中遇到的问题总结如下:

前台:

1. Ajax通过将表单序列化    data:$(".update_emp_form").serialize()

    注意

  •   表单每一项的 name 与对应的实体类属性名一致 

 

可以通过alert()方法打印表单序列化后的内容,如下图

 

2. ajax传输数据具体代码

$(function(){
    //=======0 点击 员工新增按钮,发送AJAX请求查询部门列表信息,弹出模态框,
    	$(".emp_add_btn").click(function(){
    		
    		$.ajax({
    			url:"/SSM_HRMS/dept/queryDeptName",
    			typt:"GET",
    			success:function(result){
    				if(result.code==100){
    					$.each(result.extendInfo.departmentList,function(){
    						var optionEle=$("<option></option>").append(this.deptName).attr("value",this.deptId);
    						optionEle.appendTo("#add_department");
    					});
    				}
    				
    			}
    		});
    		
    		$(".emp-add-modal").modal({
    			backdrop:false,
    			keyboard:true
    		});
    	});
    
    
    //2验证
    
    //3保存
    
    	$(".emp_save_btn").click(function(){
    		alert($(".add_emp_form").serialize());
    		$.ajax({
    			url:"/SSM_HRMS/emp/addEmp",
    			type:"POST",
    			data:$(".add_emp_form").serialize(),
    			success:function(result){
    				if(result.code == 100){
                        alert("新增成功");
                        $('.emp-add-modal').modal("hide");
                        $.ajax({
                        	success:function(){
                                    window.location.href="/SSM_HRMS/emp/queryAllEmps";
                        	}
                        });
                    }else {
                        alert(result.extendInfo.add_emp_error);
                    }
    			}
    		});
   	 	});
    	
    });

    

3. JSP文件内部引入其他的Jsp文件,他们的‘’头信息”格式内容要一致,如下图

否则报错,如下图(画质有点。。。)


后台:

1.  mapper文件

 

xml文件中的SQL语句 #{}  使用employee表示传入的对象,需要在mapper.java文件中的参数添加@Param(“employee”),否则mybatis会将employee当成Employee类的一个属性,报以下错误

2.  后台接收表单序列化的代码如下

@RequestMapping(value="/addEmp",method=RequestMethod.POST)
	@ResponseBody
	public JsonMsg addEmp(Employee employee) {
		int res=0;
//		System.out.println(employee.getDeptId());
//		System.out.println(employee.getEmpName());
//		System.out.println(employee.getGender());
		res=employeeService.addEmp(employee);
		if(res!=1) {
			return JsonMsg.fail().addInfo("add_emp_error", "员工信息添加失败!");
		}
		return JsonMsg.success();
	}

3. 若后台接收的前台对象类的数据(表单数据),后台进行打印数据内容时,一般通过调用toString()方法实现。但oString方法中需要打印的属性值 在实际传来的数据中并不存在 ,后台调用toString方法后,极有可能报空指针异常,需注意。

 

 

posted @ 2019-11-09 23:56  YH_Simon  阅读(129)  评论(0编辑  收藏  举报