0

AJAX から ATG FormHandler を呼び出すことはできますか?希望はありますか?

4

4 に答える 4

6

一般的に: はい :-)

ただし、可能性は限られているか、それらを実行するためにいくつかの奇妙なハックが必要になる可能性があるため、正確に何をしたいかによって異なります.

いくつかの異なるアプローチがあります。

Struts や Spring MVC などのフレームワークでサーブレットやコントローラーを使用して送信できるように、リクエストをフォーム ハンドラーに直接送信することはできませんが、代わりに常に JSP ページ (DSP taglib を使用して作成) にフォームを含める必要があります。そのフォームを送信します。これは、JSP ページに対応するフォームがなければ、フォーム ハンドラーをトリガーできないことを意味します。ただし、ページにそのフォームがある場合は、AJAX リクエストを介して送信できます。次に、AJAX 要求がフォーム ハンドラーをトリガーし、通常のフォーム送信と同じ方法で結果を取得します。このアプローチは可能であり、通常は機能します。AJAX リクエストのフォームをページに表示したくない場合は、CSS などを使用して非表示にすることができます。

もう 1 つのアプローチは、ATG の REST Web サービス モジュールを使用することです。これにより、任意のコンポーネントを RESTful Web サービスとして公開できます。これにより、フォームを用意したり、最初に JSP ページをレンダリングしたりする必要なく、フォーム ハンドラを呼び出すこともできます。「ATG Web サービスおよび統合フレームワーク ガイド」というタイトルのドキュメント (Oracle の ATG ドキュメントから) には、フォーム ハンドラを REST Web サービスとして呼び出す方法に関する章全体があります。

または、AJAX リクエストを受信し、受信したデータを使用してフォーム ハンドラーを呼び出す小さなカスタム サーブレットを作成することもできます。これは、他の Nucleus コンポーネントをルックアップして呼び出すのと同じように...

于 2012-05-13T13:49:25.733 に答える
3

はい、ajax リクエストを送信しているページで handle メソッドを呼び出します。

于 2012-11-29T15:59:07.177 に答える
0

APIを使用してこれを行いました。

API を使用して必要なフォーム データを入力し、API からハンドル メソッドを呼び出す必要があります。必要に応じて、ATG の REST API または Spring を使用できます。

于 2015-02-09T15:47:08.603 に答える
-1

シンプルな JSP を作成してハンドル メソッドを呼び出すための複雑なコードを必要とせず、JSP を作成し、dsp:setvalue タグを追加するだけで、bean 属性がハンドル メソッドを指す必要があります。この JSP をシンプルな ajax を介して呼び出します。

<dsp:setvalue bean="TestFormahandler.submit" value="" />

これは formhandler の handleSubmit を呼び出します

そして、希望の友達は常にいます:)

于 2013-11-16T08:23:11.377 に答える