zoukankan      html  css  js  c++  java
  • 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方法后,极有可能报空指针异常,需注意。

  • 相关阅读:
    μC/OS-II中使用软件定时器
    基于javafx的实训项目实战 —— 猿天气
    郑州轻工业大学软件学院计算机网络期末复习
    软件工程经济学结课报告——兰花智慧大棚监控系统可行性研究报告
    基于javafx实现一个简单的图片查看器
    数据结构之动态数组
    JSP技术
    JavaWeb实现上传下载
    windows下mysql编码问题
    基于socket的即时通信系统的设计与实现
  • 原文地址:https://www.cnblogs.com/yh-simon/p/12236668.html
Copyright © 2011-2022 走看看