springmvc_前后前

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);  
}   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值