1

我正在学习 Struts2,并且在使用 Jquery 序列化提交表单时有以下问题。我有一个操作类,其中有一个名为 Policy 的对象,并且该策略类具有一组字段,如下所示。使用 jquery ajax 我想在我的 Action 类中设置一个 json 字符串,并想将它反序列化为一个对象。

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

Class CassPolicy{
  String policyNumber;
  String name; 
  //getsets for members

}

行动:

Class PolicyAction{
   String cassPolicyString;
   CassPolicy cassPolicy = new CassPolicy();
   //getsets for members

   String save(){
//In save method  I want to convert the policyString to policy object
//policyString always returns null
   } 
}

JSP:

$.ajax({
 url:PolicyAction.action,
 type:'post',
 data:$("#policyForm").serialize(),
 async:true,
 success:function(data){
 }

});

<s:form id="policyForm">
    <s:textfield name="cassPolicy.policyNumber" label="policyNumber"></s:textfield>
    <s:textfield name="cassPolicy.name" label="name"></s:textfield> 
</s:form>

我什至在ajax中尝试过类似的东西data:{cassPolicyString:$("#policyForm).serialize()}

有人可以帮我指出正确的方向或完成任务的正确方法吗?

4

1 回答 1

0

我终于想通了。问题是表单序列化没有给出 json 格式。我使用下面链接中的代码将我的表单序列化为 json 对象,并在 struts.xml 中的操作中添加了一个拦截器 ref 元素,最终将我的表单值分配给了 cassPolicy 对象。

使用 jQuery 将表单数据转换为 JavaScript 对象

于 2013-04-23T14:06:26.623 回答