このチュートリアルに従って、Oracle MAF アプリケーションで署名キャプチャ機能を取得しています。
チュートリアルで説明されているように単純な POC で試したところ、問題なく動作しました。プロジェクトに統合したのと同じロジック。
以下は、統合のために行った設定です。
- タスク フロー定義 (ページがある場所) の下に
js and css
ファイルを含めました。maf-feature.xml
amx
以下のようにではなく、ファイル
pageFlow
内 としてBeanのスコープを定義しました。XXXXX-task-flow.xml
adfc-mobile-config.xml
<managed-bean id="__20"> <managed-bean-name>signatureCapture</managed-bean-name> <managed-bean-class>package.SignatureCapture</managed-bean-class> <managed-bean-scope>pageFlow</managed-bean-scope> </managed-bean>
以下を使用し
fetchHandler
てメソッドを呼び出している場合、Failなしでメソッドを呼び出しています。cleaHandler
commandButton
メソッドから、以下のステートメントは JavaScript をトリガーしません
fetchHandler メソッド内:
AdfmfContainerUtilities.invokeContainerJavaScriptFunction(AdfmfJavaUtilities.getActiveContextId(), "doFetch",
new Object[] { });
clearHandler メソッド内:
AdfmfContainerUtilities.invokeContainerJavaScriptFunction(AdfmfJavaUtilities.getActiveContextId(), "doClear",
new Object[] { });
以下は、参照用の JavaScript ( MyFile.js
) です。
(function () {
// This method clears the signature area
doClear = function () {
alert("Clear function called.!");
var sigElement = document.getElementById("sig");
if (sigElement == null)
alert("sigElement not found");
var sig = $(sigElement);
sig.signature('clear');
adf.mf.api.invokeMethod("package.SignatureCapture", "FetchCallback", "", onInvokeSuccess, onFail);
};
// This method gets the signature as a JSON string. As an example, it does an alert of the string and then sends it to a Java handler for further processing
doFetch = function () {
alert("Fetch function called.!");
var sigElement = document.getElementById("sig");
if (sigElement == null)
alert("sigElement not found");
var sig = $(sigElement);
var fetchData = sig.signature('toJSON');
adf.mf.api.invokeMethod("package.SignatureCapture", "FetchCallback", fetchData, onInvokeSuccess, onFail);
};
function onInvokeSuccess(param) {
alert("onInvokeSuccess");
};
function onFail() {
alert("It failed");
};
})();
任意の提案をいただければ幸いです。これに関する詳細が必要な場合は、以下にコメントしてください。