springmvc

    xiaoxiao2022-07-03  181

    ajax前后调用

    ***********前台-->后台(ajax)**************** jQuery.ajax({ type: "POST", url: "reward/changVirtualOpenClose", .ajax||.html async : false, data : {'isOpenVirtualId':isOpenVirtualId,"status":status}, dataType: "json", success: function(data){ if(data!=null&&data.flag){ //location.href="${pageContext.request.scheme}://${header.host}${pageContext.request.contextPath}/xxx/xxx"; }else{ alert(data.message); } } });

    springmvc后台接收

    //import org.springframework.web.bind.annotation.PathVariable; @RequestMapping(value="/xxxxaa/{userId}",method={RequestMethod.POST} ,consumes="application/json",produces="application/json") //consumes代表请求端必须是json类型,设置请求的 //produces代表返回的结果自动转化为json这样就可以返回Zexample1Model一个DTO框架自动转 @ResponseBody //后台返回json public String xxxxaa(@RequestParam(value="pageSize",required=false) long pageSize, @RequestParam(value="page",required=false) long page,//@RequestParam只能是post请求 @PathVariable(value="userId") String userId, @QueryParam(value="name") String name, //@QueryParam必须是get的请求 @RequestBody Xxxdto xdto,//@RequestBody用来解析json转成java对象 HttpServletRequest request//原生的request ){ JSONObject backJson = new JSONObject(); backJson.put("flag", true); backJson.put("articleList", articleList); return backJson.toString(); //使用原生的HttpServletRequest request ServletInputStream inputStream = request.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(inputStream)); StringBuffer sb = new StringBuffer(); String str = null; while((str = br.readLine())!=null){ sb.append(str); } }

    后台返回DTO自动转json produces的使用

    @RequestMapping(value="/testma",method={RequestMethod.POST,RequestMethod.GET},produces="application/json") @ResponseBody //json public Zexample1Model testma(@RequestParam(value="id",required=true) String id){ Zexample1Model zexample1Model = new Zexample1Model(); zexample1Model.setId("id"); zexample1Model.setAddTime(new Date()); zexample1Model.setAge(12); zexample1Model.setAmount(new BigDecimal(18L)); zexample1Model.setName("name"); zexample1Model.setStatus(1); return zexample1Model; }

    后台返回页面

    @RequestMapping(value="/xxxx",method={RequestMethod.POST}) public String xxxx(@RequestParam(value="pageSize",required=false,defaultValue="0") long pageSize, @RequestParam(value="page",required=false) long page){ request.setAttribute("articleList", articleList); model.addAttribute("page", page);//import org.springframework.ui.Model; return "forward:/redis/articleList.jsp"; return "modules/baijia/xxx"; //springmvc里有前缀后缀给修饰 }

    后台返回下载文件 

    ResponseEntity<byte[]> 返回的是一个byte[]

    @RequestMapping(value="/ejb/table2entity",method={RequestMethod.POST}) public ResponseEntity<byte[]> table2entity(@RequestParam(value="database",required=false) String database){ File xxxdownFile=new File(zipFile); HttpHeaders headers = new HttpHeaders(); String fileName=new String("xxxfileName.zip".getBytes("UTF-8"),"iso-8859-1");//为了解决中文名称乱码问题 headers.setContentDispositionFormData("attachment", fileName); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(xxxdownFile), headers, HttpStatus.CREATED); }

     

    最新回复(0)