经过测试:SpringMVC支持一维数组的参数传递,不支持多维数组的参数传递,如果想传递多维数组,那么我们只好改用其他的办法如:1、将多维数组拆成一维数组;2、将多维数组改为集合传递;3、或者改为字符串,接收时间处理一下等等,4、或者将所有数组中的值拼接传递(例如:data=1&data=2&data=3,代表三个数组的值)方法很灵活。
SpringMVC传递一维数组:传递数组类型时,需要在@requestParam()中添加value,否则会出现HTTP Status 400 - Required long[] parameter 'data' is not present错误。
例如: @RequestParam(value = "data[]")long[] data
前端请求:
var dataArr = new Array()
for(var i = 0i <10i++){
dataArr.push(i)
}
$.ajax({
url : "test/arrayParam.shtml",
data : {
"datas" : dataArr
},
dataType : "json",
success : function(data) {
alert(data)
},
async : false
})
}
后端代码:
package com.pyc.search.view.controller
import org.springframework.stereotype.Controller
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.ResponseBody
@Controller
@RequestMapping("/test")
public class TestController {
@RequestMapping("/arrayParam")
public @ResponseBody
int test1(@RequestParam(value = "datas[]") long[] datas) {
return datas.length
}
}
2 多维数组可以转换为一维数组,或者转换为字符串,在后端接收时处理一下。
让第11行显示到第1行很方便,只要让ui->tableWidget->insertRow(0)就行了ui->tableWidget->insertRow(0)
ui->tableWidget->setItem(0, 0, new QTableWidgetItem("cj"))
ui->tableWidget->setItem(0, 1, new QTableWidgetItem(QString::number(test_number)))
获取到一行就添加一行,建议LZ可以用QTimer定时器,每秒触发一次更新tablewidget的槽函数
QTimer *widget_timer = new QTimer(this)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)