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]
参数值。
有人可以告诉我是否有办法执行以下操作之一:
- 得到Struts2来处理这个参数表示法
- 更改jQuery序列化这些参数名称的方式
DataTables 中有一个选项可以恢复到它发送的旧参数,但似乎这可能不会永远存在,我更愿意让它使用新的参数结构。
以下格式的参数 columns[1]['data']
(注意 data
周围的 '
)实际上可以与 Struts2 一起使用。因此,您可以尝试调整序列化过程以向参数添加 extra 单引号。
但是您似乎可以发送 JSON string from DataTables,这是一种更好的处理方式,而不是扰乱参数序列化。
还有 struts2-json-plugin
可以从 JSON 字符串填充动作变量。
我有一个使用 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]
参数值。
有人可以告诉我是否有办法执行以下操作之一:
- 得到Struts2来处理这个参数表示法
- 更改jQuery序列化这些参数名称的方式
DataTables 中有一个选项可以恢复到它发送的旧参数,但似乎这可能不会永远存在,我更愿意让它使用新的参数结构。
以下格式的参数 columns[1]['data']
(注意 data
周围的 '
)实际上可以与 Struts2 一起使用。因此,您可以尝试调整序列化过程以向参数添加 extra 单引号。
但是您似乎可以发送 JSON string from DataTables,这是一种更好的处理方式,而不是扰乱参数序列化。
还有 struts2-json-plugin
可以从 JSON 字符串填充动作变量。