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方法后,极有可能报空指针异常,需注意。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值