、、、最近入了泛微OA开发的大坑,全是jsp
那么怎么实现json前后端交互呢
//前端普普通通 jq ajax
$.ajax({
type: "POST",
url: "/hq/pages/fksplc/fksplc.jsp?a=123",
contentType: "application/json", //一定要加,
dataType:"json", //一定要加 血的教训
data:JSON.stringify(jsonArr),
success:function(data){
console.log(data);
}
});
后端也是jsp哈哈哈,禁止套娃~~~
<%@ page import="java.io.*" %>
<%@ page import="org.apache.commons.io.IOUtils" %>
<%@ page import="java.util.Map" %>
<%@ page import="com.alibaba.fastjson.JSON" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.alibaba.fastjson.TypeReference" %>
<%@ page import="org.springframework.util.CollectionUtils" %>
<%@ page import="java.math.BigDecimal" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="net.sf.json.JSONObject" %>
<%@ page import="java.text.DecimalFormat" %>
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%
String data="";
try {
InputStream is= null;
is = request.getInputStream();
data = IOUtils.toString(is, "utf-8");
}catch (Exception e){
log.log(e.getMessage());//此处自己打日志
}
//解析成list
ArrayList<Map<String,String>> list =
JSON.parseObject(data, new TypeReference<ArrayList<Map<String,String>>>(){});
/**
省略业务逻辑
**/
String result="";//返回给前端的json格式字符串
response.setContentType("application/json; charset=utf-8");
response.getWriter().write(result.toString());
response.getWriter().flush();
response.getWriter().close();
%>
好啦,这样就完成了前后端json交互了,jsp本质是servlet嘛,没有@ResquestBody注解咱照样玩的转~