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字符串中的动作变量。