Struts2 jQuery DataTable 1.10多维Http参数

我有一个使用DataTables 1.9的Struts 2应用程序。 我现在正在尝试将其转换为DataTables 1.10,这改变了它将HTTP参数发送到服务器的方式。 我现在正在尝试处理如下所示的HTTP参数:

columns[1][data]

我的struts动作中有一个名为“columns”的List,它包含一个带有“data”属性的对象。 当动作触发时,什么都没有进入列列表。 我知道通常我会发送这样的参数:

columns[1].data

我深入研究了DataTables代码,发现它正在使用jQuery.param来序列化由DataTables创建的JS对象。 我试图将ajax请求中的“传统”参数设置为true ,但后来我得到[object+Object]作为参数值。

有人可以告诉我是否有办法执行以下操作之一:

  • 获取Struts2来处理这个参数表示法
  • 更改jQuery序列化这些参数名称的方式

DataTables中有一个选项可以恢复它发送的旧参数,但似乎这可能不会永远存在,我宁愿让它使用新的参数结构。

以下格式columns[1]['data'] (注意' around data )实际上可以与Struts2一起使用。 因此,您可以尝试调整序列化过程以向参数添加额外的单引号。

但似乎你可以从DataTables发送JSON字符串 ,这是一种更好的做事方式而不是搞乱参数序列化。 并且有struts2-json-plugin可以填充JSON字符串中的动作变量。