87,910
社区成员
发帖
与我相关
我的任务
分享
$("#exampleTableEvents").bootstrapTable({
//url: "js/demo/bootstrap_table_test.json",
url: "/genTable/queryDemo",
method: "post",
queryParams:queryParams,
pageList: [5, 10, 20, 50, 100],
search: !0,
pagination: !0,
sidePagination: "client", //server
showRefresh: !0,
showToggle: !0,
showColumns: !0,
/**查询条件与分页数据 */
function queryParams(pageReqeust) {
//console.log("-----params-----");
pageReqeust.userName = "admin"; //
pageReqeust.querys = $(".input-outline").val();
pageReqeust.pageNo = this.offset;
pageReqeust.pageSize = this.pageNumber;
pageReqeust.length = 6;
console.log(pageReqeust);
return pageReqeust;
}
ServletInputStream in = request.getInputStream();
byte [] buf = new byte[1024];
int len = 0;
StringBuilder b = new StringBuilder();
while((len=in.read(buf))!=-1){
b.append(new String(buf, 0, len,"UTF-8"));
}
in.close();
String paramsStr = URLDecoder.decode(b.toString(),"UTF-8");
Map<String, String> params = getParams(paramsStr);
/**
* 解析出url参数中的键值对
*/
public static Map<String, String> getParams(String strUrlParam) {
Map<String, String> mapRequest = new HashMap<String, String>();
String[] arrSplit = null;
arrSplit = strUrlParam.split("[&]");
for (String strSplit : arrSplit) {
String[] arrSplitEqual = null;
arrSplitEqual = strSplit.split("[=]");
//解析出键值
if (arrSplitEqual.length > 1) {
//正确解析
mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
} else {
if (arrSplitEqual[0] != "") {
//只有参数没有值,不加入
mapRequest.put(arrSplitEqual[0], "");
}
}
}
return mapRequest;
}
楼主你好,在method: "post"后面加上contentType : "application/x-www-form-urlencoded",包你解决问题,我也被这个坑了。因为如果不指定contentType 的话就会默认以application/json的方式发送数据,java就不能用getParameter拿到内容了,但是可以用输入流接收,我都试过了。
楼主怎么解决的,
楼主你好,在method: "post"后面加上contentType : "application/x-www-form-urlencoded",包你解决问题,我也被这个坑了。因为如果不指定contentType 的话就会默认以application/json的方式发送数据,java就不能用getParameter拿到内容了,但是可以用输入流接收,我都试过了。
试试将 method: "post", 注释掉~看看效果如何