Struts2 Jquery Ajax表单序列化

时间:2013-04-22 12:31:26

标签: struts2

我正在学习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>

我甚至试过像data:{cassPolicyString:$("#policyForm).serialize()}

这样的ajax

有人可以帮助我指出正确的方向或实现我的任务的正确方法吗?

1 个答案:

答案 0 :(得分:0)

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

Convert form data to JavaScript object with jQuery