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