送信されたデータを処理するためのサーブレットの作成
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