JSONP を介して自分の Web ページに値をフェッチします。この値で backing-bean-property を更新したいですか? これをどのように処理しますか?前もって感謝します。
更新: さて、私の問題は、JavaScript、JSF-Ajax-Calls、および Webservices があり、どのアクションがいつトリガーされたかを確認する必要があることです。私の状況をもっと詳しく説明する必要があると思います。
私のバッキングビーン:
logger.debug("CaseController - save(): tempCaseId [ " + tempIshCaseId + "];");
私のxhtmlページ:
<!-- JSONP-Wert in die Bean hieven -->
<t:div id="tempIshCaseIdContainer">
<h:outputText id="setTempIshCaseId" value="#{CaseController.tempIshCaseId}" />
</t:div>
<a4j:commandLink id="preSaveCaseButton" onclick="setTempIshCaseId();" title="..."
reRender="jsonpRemoteURLs,hNumberRemoteURL,eNumberRemoteURL,ishCaseRemoteURL,tempIshCaseIdContainer" oncomplete="jQuery('a#form_saveCaseButton').click()">
</a4j:commandLink>
<a4j:commandLink id="saveCaseButton" title="..." reRender="serverWarningsParent" action="#{CaseController.save}" onclick="if (validateCaseFormEntries(){ closeCaseWarningsBox(); } else { return false; }" oncomplete="if (#{CaseController.success}){ showCaseModalPanel(); patientConsistencyCheck(#{NavigationController.globalErrorState}, '#{PatientController.patienlistUrl}'); startJsonpSetters(); saveCase(); initializeFocusBlurEvents();} else { return false;}">
</a4j:commandLink>
<a4j:commandLink id="postSaveCaseButton" onclick="hideCaseModalPanel();" reRender="caseContainer,modifiedContainer">
</a4j:commandLink>
私のJavascriptファイル:
function setTempIshCaseId(){// setze den Wert des a4j-value-Elements
var ishCaseId = jQuery('#form_ish').val();
jQuery('#form_setTempIshCaseId').text(ishCaseId);
}
ページのレンダリング後に 3 つのステージが得られました。preSaveCaseButton は、すべての JSONP-Url を更新する必要があります。そうしないと、システムがトークン タイムアウトを生成し、例外がスローされるためです。saveCaseButton は bean-action をトリガーし、編集された setTempIshCaseId が有効な場合はデータベースに保存します。要約すると、「プロセス」属性を使用しようとしたことがわかるように、preSaveCaseButton が呼び出されたときに Bean を更新したことを確認する必要があると思いました。saveCaseButton が呼び出された直後に bean-value を確認できます。残念ながら、私の log4j-logging-message は、バッキング Bean の値が '' (tempIshCaseId = '') で、更新されていないことを示しています。
何をすべきか知っていますか?