使用jQuery将列表发布到Struts2操作

时间:2014-11-14 17:13:43

标签: jquery struts2

我尝试使用jQuery从选择框加载值(使用" multiple"属性)并将其发布到包含List变量的Struts2操作。我的问题是java变量永远不会被填充。


这是我想做的事情(但不起作用):

使用Javascript:

var params = {
    searchField: $("#multiSelectBox").val(),
};
$.post("myAction", params, successFunction);

爪哇:

List<String> searchField;
//Getter & setter for my field here.
//I also tried a "String[] searchField", but that didn't work either.

当jQuery发布数据时,它看起来像这样:

searchField[]: value1
searchField[]: value2
searchField[]: value3

不幸的是,我的struts2操作中的searchField java变量没有收到这些数据。


我能够通过手动指定要提交的每个项目的索引来使其工作。所以javascript看起来像这样:

var params = { };
$($("#multiSelectBox").val()).each(function(i, item) {
    params["searchField[" + i + "]"] = item;
});
$.post("myAction", params, successFunction);

有没有办法绕过并手动指定索引号?似乎struts2 params拦截器应该能够处理标准jQuery post格式的简单Strings列表。我的手动索引编号的解决方法看起来非常麻烦 - 特别是因为我的真实代码提交了几个列表,而不仅仅是一个&#34; searchField&#34;列表。

0 个答案:

没有答案