HTML5 フォームの送信処理
HTML5 フォームは、AEM でホストされるサーブレットに送信できます。送信されたデータは、サーブレットで入力ストリームとしてアクセスできます。HTML5 フォームを送信するには、AEM Forms Designer を使用してフォームテンプレートに「HTTP 送信ボタン」を追加します。
送信ハンドラーの作成
簡単なサーブレットで HTML5 フォーム送信を処理できます。次のコードスニペットを使用して、送信されたデータを抽出します。このチュートリアルで指定されたサーブレットをダウンロードします。パッケージマネージャーを使用して、サーブレットをインストールします。
StringBuffer stringBuffer = new StringBuffer();
String line = null;
java.io.InputStreamReader isReader = new java.io.InputStreamReader(request.getInputStream(), "UTF-8");
java.io.BufferedReader reader = new java.io.BufferedReader(isReader);
while ((line = reader.readLine()) != null) {
stringBuffer.append(line);
}
System.out.println("The submitted form data is " + stringBuffer.toString());
コードを使用して J2EE プロセスを呼び出す場合は、Adobe LiveCycle Client SDK Configuration が設定済みであることを確認してください。
HTML5 フォームの送信 URL の設定
- xdp を開き、プロパティ/詳細 に移動します。
- http://localhost:4502/content/AemFormsSamples/handlehml5formsubmission.html をコピーし、「URL を送信」テキストフィールドに貼り付けます。
- 「保存して閉じる」ボタンをクリックします。
除外パスへのエントリの追加
- configMgr に移動します。
- Adobe Granite CSRF フィルター を検索します。
- 「除外されるパス」セクションに次のエントリを追加します。/content/AemFormsSamples/handlehml5formsubmission。
- 変更を保存します。
フォームのテスト
- xdp テンプレートを開きます。
- プレビュー/HTML としてプレビューをクリックします。
- フォームにデータを入力し、「送信」をクリックします。
- 送信されたデータについて、サーバーの stdout.log ファイルを確認します。
8de24117-1378-413c-a581-01e660b7163e