Struts2 jQuery DataTable 1.10多维Http参数

Struts2 jQuery DataTable 1.10 Mutidimensional Http Parameters

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

columns[1][data]

我的 struts 操作中有一个名为 "columns" 的列表,其中包含一个具有 "data" 属性的对象。当动作触发时,没有任何东西被推入列列表。我知道通常我会使用以下方式发送这样的参数:

columns[1].data

我深入研究了 DataTables 代码,发现它使用 jQuery.param 序列化由 DataTables 创建的 JS 对象。我试图将 ajax 请求上的 "traditional" 参数设置为 true,但随后我得到 [object+Object] 参数值。

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

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

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

但是您似乎可以发送 JSON string from DataTables,这是一种更好的处理方式,而不是扰乱参数序列化。 还有 struts2-json-plugin 可以从 JSON 字符串填充动作变量。