Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Struts2 Jquery Ajax表单序列化_Struts2 - Fatal编程技术网

Struts2 Jquery Ajax表单序列化

Struts2 Jquery Ajax表单序列化,struts2,Struts2,我正在学习Struts2,对使用Jquery serialize提交表单有以下问题。我有一个action类,其中有一个名为Policy的对象,Policy类有一组字段,如下所示。使用jQueryAjax,我想在Action类中设置一个json字符串,并将其反序列化为一个对象 无论我尝试了多少次,我都无法设置在action类中定义的字符串。下面是代码 类策略{ 字符串策略编号; 字符串名; //获取成员的集合 } 行动: 集体行动{ 字符串和字符串; CassPolicy CassPolicy=

我正在学习Struts2,对使用Jquery serialize提交表单有以下问题。我有一个action类,其中有一个名为Policy的对象,Policy类有一组字段,如下所示。使用jQueryAjax,我想在Action类中设置一个json字符串,并将其反序列化为一个对象

无论我尝试了多少次,我都无法设置在action类中定义的字符串。下面是代码

类策略{
字符串策略编号;
字符串名;
//获取成员的集合
}
行动:

集体行动{
字符串和字符串;
CassPolicy CassPolicy=新CassPolicy();
//获取成员的集合
字符串保存(){
//在save方法中,我想将policyString转换为policy对象
//policyString始终返回null
} 
}
JSP:

$.ajax({
url:PolicyAction.action,
类型:'post',
数据:$(“#policyForm”).serialize(),
async:true,
成功:功能(数据){
}
});
我甚至在ajax中尝试了类似
data:{cassPolicyString:$(“#policyForm).serialize()}


有人能帮我指出正确的方向,或者什么是完成任务的正确方法吗?

我终于明白了。问题是表单序列化没有提供json格式。我使用下面链接中的代码将表单序列化为json对象,并在struts.xml中为我的操作添加了一个拦截器ref元素,它最终分配了我的表单va指向策略对象


您的表单字段名称与操作属性名称不匹配,也不清楚是否确实存在属性的getter/setter。您使用的是JSON插件吗?发生了什么事?感谢Dave的回复。.我的对象和操作类中确实有getter和setter。.我使用的是Struts2 JSON插件,默认值为JSON我的struts.xml…我从浏览器中看到json请求中的值为cassPolicy.policyNumber=12345&cassPolicy.name=test表单字段名称与操作属性名称不匹配。请将
cassPolicy.policyNumber
更改为
policy.number
cassPolicy.name
更改为
policy.name
。在参数映射中就是这样,幻想是不允许的:你能粘贴你的截取代码吗,你是如何将json数据转换成CassPolicy Obj的。我也在为同样的要求奋斗很久。提前发送。