[ssm]ssm中的几种前后端传值方式(ajax,url,form)

ssm的几张传值方式.javaweb无非就是前端+后台+数据库 传值就是连接的纽带.

众所周知:jsp/servlet传值无非就是form表单和url,然后servlet里再get到.ssm丰富补充了这几种方式,当然,底层原理都是一样的.

1.前端传值之ajax

ajax是一种传输方案吧,最大的优点就是异步提交,只需要局部刷新.因为我们知道jsp中用form或者url传值都会刷新页面,而且要整个页面数据一起提交,给用户带来了很差的体验.而ajax就完美解决的这个问题.

第一行是传输类型,有post或者get  

第二行是传输的url地址 这里是传输到了ssm的controller层去判断

第三行就是要传输的数据 . 这里是以map(key:value)的方式. key就是你传输参数的名字,后台以这个名字接收.value就是你具体要传的值.这里的值就是在页面直接拿的.就是表单的名字.  比如说传输的值 ${var.PLAN_ID}

这里通过url把参数传递出去
      

  function generate(Id){
            bootbox.confirm("确定要生成工单吗?", function(result) {
                if(result) {
                    top.jzts();
                    var url = "<%=basePath%>plan/generate.do?PLAN_ID="+Id+"&tm="+new Date();
                    $.get(url,function(data){
                        nextPage(${page.currentPage});
                    });
                }
            });
        }

Controller层:

PageData封装了来自jsp的所有数据 我们的planid也在里面

@RequestMapping(value="/generate")
    public void generate(PrintWriter out) throws Exception{
        if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限
        PageData pd = this.getPageData(); 
        Object object=planService.findNumber(pd).get("zs");
        int number=Integer.parseInt(String.valueOf(object));
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH)+1;
        int day = cal.get(Calendar.DATE);
        int newOutsourceStaffId =number+1;//获取流水号
        String ordernumber=String.valueOf(year)+String.valueOf(month)+String.valueOf(day)+String.valueOf(newOutsourceStaffId);
        String currentUserId = Jurisdiction.getUsername();
        String nowStr = Tools.date2Str(new Date());
        pd.put("IS_DEL", 0);//删除标识
        pd.put("CHECKORDER_ID", this.get32UUID());
        pd.put("CREATE_BY",currentUserId); //创建者
        pd.put("LAST_MODIFY_BY",  currentUserId);//修改者
        pd.put("CREATE_TIME", nowStr);//创建时间
        pd.put("LAST_MODIFY_TIME", nowStr);//修改时间
        pd.put("ordernumber", ordernumber);//工单号
        planService.savegenerate(pd);
        out.write("success");
        out.close();
    }

Service层:

传入参数就是之前的PageData

public void savegenerate(PageData pd) throws Exception {
    PageData order = new PageData();
	order.put("PLAN_ID", pd.getString("PLAN_ID"));

}

Mapper层:

   
        INSERT INTO
            CHECK_CHECKORDER
            (
                "CREATE_BY",    
                "CREATE_TIME",    
                "LAST_MODIFY_BY",    
                "LAST_MODIFY_TIME",    
                "ORDER_NUM",
                "CHECKORDER_ID",
                "IS_DEL",
                "LEVEL",
                "SHOULD_BE_CHECKER_ID",
                "SHOULD_BE_CHECK_TIME",
                "PLAN_ID"
            )
        
            SELECT
                #{item.CREATE_BY},
                #{item.CREATE_TIME},
                #{item.LAST_MODIFY_BY},
                #{item.LAST_MODIFY_TIME},
                #{item.ORDER_NUM},
                #{item.CHECKORDER_ID},
                #{item.IS_DEL},
                #{item.LEVEL},
                #{item.SHOULD_BE_CHECKER_ID},
                #{item.SHOULD_BE_CHECK_TIME},
                #{item.PLAN_ID}
            FROM DUAL
        
    

 

 

你可能感兴趣的:([ssm]ssm中的几种前后端传值方式(ajax,url,form))