Struts接口可以从流中接受json数据并解析,并以流的形式返回给前端。如下所示:
public class testController extends ActionSupport{
private InputStream inputStream;
private String getRequestPostData(HttpServletRequest request) throws IOException {
//解析请求的Json数据
int contentLength = request.getContentLength();
if(contentLength<0){
return null;
}
byte buffer[] = new byte[contentLength];
for (int i = 0; i < contentLength;) {
int len = request.getInputStream().read(buffer, i, contentLength - i);
if (len == -1) {
break;
}
i += len;
}
//return new String(buffer, "utf-8");
String data=new String(buffer,"utf-8");
//返回json,struts.xml文件也要一致
try{
inputStream=new ByteArrayInputStream(data.getBytes("UTF-8"));
}catch(unsupportedEncodingException e){
e.printStackTrace();
}
}
}
另外,Struts2框架还可以通过使用struts2-json-plugin配置,实现json数据的接受与返回。