2009-08-13 17 views
0

現在、Struts 1でWebアプリケーションを開発中です。私は最近、AJAXテクノロジーを使い始めました。何かに取り組んでいます。AJAXを使用してActionクラスでStrutsフォームBeanを取得する方法

フォームを検証するためにアクションメソッド(AJAX経由)を呼び出しますが、アクションメソッドに到達するとフォームBeanで値が変更されません。これは、AJAXを介してアクションを呼び出すと、アクションメソッドにフォームが送信されないためです。私は正しい?フォームの値をJSONオブジェクトとして送信しようとしましたが、アクションクラスでフォームの値を解析できません。私が知る限り、私はそうするために外部の図書館が必要です。残念ながら、会社のポリシーでは私に外部の図書館を使用させることはできません。フォームを送信する他の方法はありますか?事前に

おかげで、 カルロス

答えて

0

はい、あなたは正しいです。 AJAXで起こっていることは、リクエストがフォーム提出ではなく特定のURLに送信されていることだけです。

これを処理する最も簡単な方法は、検証するフィールドをURLにパラメータとして追加し、サーバーのHTTP要求から単純に取り除くことです(Strutsの使いやすさを覚えていないことがあります)。

+0

ああ、そうです。私はそれについて考えましたが、フォームがかなり大きいので、私はそれを避けたいと思っていました。私はそれを試してみて、何が起こるか見てみましょう。 あなたの答えをありがとう。 –

+0

私は、HTTPリクエストにパラメータを渡す方法があると確信しています(これはフォーム提出の場合です)、エフェクトは同じサーバー側になります。 –

0

私はこれがあなたのためになると思います。

request = $.ajax({ 
     url :'/your_action.do', 
     type :'post', 
     cache:false, 
     data :$("#formId").serialize() 
}); 

データフィールドが必要なのActionForm属性を送信します。

関連する問題