Как я могу добавить на стороне сервера то, что отправляется во все ответы ajax, чтобы я мог добавить свои собственные параметры?
Я расширил Richfaces JavaScript A4J.AJAX.finishRequest
для запуска пользовательского события, и я хотел бы передать ему параметры с сервера:
var originalFinishRequest = A4J.AJAX.finishRequest;
A4J.AJAX.finishRequest = function(request) {
var parameters = request.options.parameters;
if (!request._oncomplete_aborted) {
jQuery(document).trigger('onAutofocus',parameters);
}
originalFinishRequest(request);
};
Другой способ взглянуть на это: что отвечает серверная сторона на вызовы A4J.AJAX.Submit и как я могу обернуть вокруг этого свой собственный код?
Мое решение
Это то, что я в конечном итоге поместил в свой мастер-шаблон, основываясь на ответе BalusC:
<a4j:outputPanel ajaxRendered="true">
<c:if test="#{not empty flowScope.autofocusSelectors}">
<script>
document.autofocusSelectors = #{flowScope.autofocusSelectors};
console.log("BASE TEMPLATE: autofocus: (#{flowScope.autofocusSelectors})");
</script>
</c:if>
<script>
console.log("BASE TEMPLATE AJAX RENDER")
//NB: autofocusSelectors not always set, and not only reason to autofocus
jQuery(document).trigger('onAutofocus');
</script>
</a4j:outputPanel>