【问题标题】:Send multi-dimensional array request param to server [duplicate]将多维数组请求参数发送到服务器[重复]
【发布时间】:2017-09-04 10:35:26
【问题描述】:

如果我在前端有控制权,基本上我不会这样做,但是当我使用DataTable ajax 功能时,他们会发布这样的数据:

columns[0][data]:0
columns[0][name]:
columns[0][searchable]:true
columns[0][orderable]:true
columns[0][search][value]:
columns[0][search][regex]:false
columns[1][data]:1
columns[1][name]:
columns[1][searchable]:true
columns[1][orderable]:true
columns[1][search][value]:
columns[1][search][regex]:false
columns[2][data]:2
columns[2][name]:
columns[2][searchable]:true
columns[2][orderable]:true
columns[2][search][value]:
columns[2][search][regex]:false
columns[3][data]:3
columns[3][name]:
columns[3][searchable]:true
columns[3][orderable]:true
columns[3][search][value]:
columns[3][search][regex]:false
columns[4][data]:4
columns[4][name]:

我有两个问题:

1) 如何在 servlet 中相应地检索值? getParameterValues 只能得到一维数组,我不知道如何检索上面的例子。

2) 如果我使用 Spring MVC,如何检索值?

【问题讨论】:

  • 恐怕您将不得不使用getParameterNames()getParameterMap() 并遍历上述所有参数。如果多次指定完全相同参数,您会看到request.getParameterValues() 会给您多个值:给定http://x.com/aaa?p=1&p=2&p=3request.getParameterValues("p") 返回["1","2","3"](总是一个字符串数组)。
  • @BalusC,我问过如何在 Spring MVC 中做到这一点,stackoverflow.com/questions/6967258/… 回答我的问题了吗?

标签: spring spring-mvc servlets jakarta-ee datatables


【解决方案1】:

好的,虽然不完美,但我大致找到了答案:

1)我对数组参数一头雾水,其实如上贴出的数据,并不是数组参数,我可以纯粹通过字符串提取值,比如this

2) 对于 Spring MVC,我仍然找不到将请求转换为对象的方法,因此为简单起见,我宁愿在 @RequestParam Map<String, String> params 中接收请求参数,并遍历每个键。 (感谢@Nikos Paraskevopoulos 强调)

【讨论】:

    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    相关资源
    最近更新 更多