【发布时间】:2016-06-24 13:36:18
【问题描述】:
我正在尝试在我的 jsp 页面中将一组对象添加到一组 bootstrap x-editable 的发布数据中。
我从表中恢复数据,并构建一个对象数组。之后,我需要将此数组附加到页面中可编辑项发布的其他值的列表中。
我有一个 id="user" 的 html 表,这段代码从中恢复数据并构建对象数组。这是我的代码,它可以工作并产生正确的对象:
function recover_data() {
console.log("Starting recover");
var beneficiary_list = [];
$('.lav').each(function() {
var obj = {'company': $(this).attr('id'), 'num':$(this).text() };
beneficiary_list.push(obj)
});
console.log(beneficiary_list); //output to check array produced
return beneficiary_list;
};
这个函数是我从保存按钮调用的,它启动我的全局提交,从页面中所有可编辑的数据中检索数据,并在“params”中添加从recover_data()返回的数组,以这种方式:
jQuery('#data a').editable('submit',{
url:'test/prove/data_received',
params: function(params) {
params.beneficiary = recover_data();
return params;
},
success:function(resp){ ... }
})
但是使用 Postman (Chrome) 测试生成的 POST 输出是没有数组的。仅提交“可编辑”数据,但没有添加该值数组的“受益人”字段。缺少的字段必须像
"beneficiary": [0: company: "1", num: "22" ..etc..]
如何将一组可编辑对象中的对象数组“附加”到生成的 POST 数据中,就像我展示的那样?
可以查看此页面
Question on github x-editable page
我不明白为什么不起作用...我按照vitalets第二篇帖子中写的示例,他写道:
editable({
...
params: function(params) {
params.checked = ... //get array of checked values
return params;
}
});
为了更好地解释我需要什么:我有一个 Java 控制器(servlet),它接收一个模型视图对象(POJO),其中包含多个字段(来自页面中的其他可编辑项)和一个字段“ArrayList 受益人”,其中受益人是“company”和“num”两个字段的小对象
public Class Beneficiary{
private String company;
private String num;
//then get e set methods..
}
相反,我的 POJO 是这样的:
import java.util.ArrayList;
import Beneficiary;
public class Module {
private Integer id;
private String titolo;
private String companyRating;
private ArrayList<Beneficiary> beneficiary;
//get e set methods
在控制台中,我获得了那个声音的正确对象
但不是在类似的帖子对象中
相反,我需要生成的输出“受益人”字段到 POST url 类似于这个示例(在互联网上找到)
提交时如何从我的 JSP 页面获取该对象的列表? 有人可以帮助我吗?
【问题讨论】:
标签: javascript jquery ajax twitter-bootstrap x-editable