送信されたデータを処理するためのサーブレットの作成

IntelliJでaem-banking プロジェクトを起動します。
送信されたデータをログファイルに出力するシンプルなサーブレットを作成します。以下のスクリーンショットに示すように、コードがコアプロジェクトにあることを確認します
create-servlet

package com.aem.bankingapplication.core.servlets;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import javax.servlet.Servlet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.osgi.service.component.annotations.Component;
@Component(service = { Servlet.class}, property = {"sling.servlet.methods=post","sling.servlet.paths=/bin/formstutorial"})
public class HandleFormSubmissison extends SlingAllMethodsServlet {
    private static final Logger log = LoggerFactory.getLogger(HandleFormSubmissison.class);
    protected void doPost(SlingHttpServletRequest request,SlingHttpServletResponse response) {
        log.debug("Inside my formstutorial servlet");
        log.debug("The form data I got was "+request.getParameter("jcr:data"));
    }
}

カスタム送信ハンドラーの作成

以前のバージョンの AEM Forms で作成したのと同じ方法で、apps/bankingapplication フォルダーにカスタム送信アクションを作成します。 このチュートリアルでは、CRX リポジトリの apps/bankingapplication ノードの下に SubmitToAEMServlet というフォルダーを作成します。

post.POST.jsp 内の次のコードは、/bin/formstutorial にマウントされたサーブレットにリクエストを転送するだけです。 これは、前の手順で作成したサーブレットと同じです

com.adobe.aemds.guide.utils.GuideSubmitUtils.setForwardPath(slingRequest,"/bin/formstutorial",null,null);

IntelliJ の AEM プロジェクトで、apps/bankingapplication フォルダーを右クリックし、新規/パッケージを選択し、新しいパッケージダイアログボックスの apps.bankingapplication の後に SubmitToAEMServlet と入力します。 SubmitToAEMServlet ノードを右クリックし、リポジトリ/コマンドを取得を選択して、AEM プロジェクトを AEM サーバーリポジトリと同期します。

アダプティブフォームの設定

これで、AEM サーブレットに送信​と呼ばれるこのカスタム送信ハンドラーに送信するようにアダプティブフォームを設定できます。

次の手順

リソースタイプを使用したサーブレットの登録

recommendation-more-help
experience-manager-learn-help-cloud-service