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 に答える