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

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

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
4859a77c-7971-4ac9-8f5c-4260823c6f69