Besser nicht!

AngularFaces vereinfacht JSF, indem es AJAX durch Javascript auf dem Client ersetzt. Es funktioniert am besten, wenn Sie der Versuchung widerstehen, JSF-AJAX zu verwenden. In den meisten Fällen funktioniert Javascript genauso gut, wenn nicht sogar besser.

Aber wenn Sie aus irgendwelchen Gründen darauf bestehen: Ja, es ist möglich. Seit AngularFaces 2.1 können Sie JSF-AJAX mit AngularFaces verwenden.

JSF-AJAX mit AngularJS verwenden

Marco Rinck hat eine großartige Bibliothek geschrieben, um AJAX und AngularJS kombinieren zu können. JUA ermöglicht es einer AngularJS-Anwendung, einen JSF-AJAX-Request zu "überleben". Das ist eine große Leistung: die AngularJS-Entwickler gehen davon aus, die volle Kontrolle über den DOM-Baum im Browser zu haben, und die JSF-Entwickler auch. Damit kommen sich beide Frameworks in die Quere. Das verursacht alle möglichen Probleme. Beispielsweise Speicherlecks, oder AngularJS-Widgets, die nach einem JSF-Request nicht mehr mit dem AngularJS-Scope verbunden sind.

In den meisten Fällen löst JUA diese Probleme ohne Ihr Zutun. JUA kümmert sich darum, Speicher, der von AngularJS reserviert wurde und nach dem Request nicht mehr gebraucht wird, freizugeben und die neuen Bildschirmelemente wieder mit dem AngularJS-Modell zu verknüpfen. Sie brauchen sich normalerweise nicht darum zu kümmern. Überlassen Sie das einfach JUA.

Aber, als Faustregel gilt weiterhin: bitte verwenden Sie AJAX nur dann, wenn es gar nicht anders geht. Selbst eine so großartige Bibliothek wie JUA hat ihre Grenzen.

AngularJS nach einem JSF-AJAX-Request neu initialisieren

In seltenen Fällen erholt sich AngularJS nicht mehr von einem AJAX-Request. Sie können dann eine Neu-Initialisierung erzwingen, indem Sie <ac:updateModelAfterAJAXRequest /> hinzufügen. Vorsicht: mit großer Wahrscheinlichkeit führt das zu Speicherlecks auf dem Client.

Don't do it!

AngularFaces simplifies JSF by replacing AJAX by native client-side programming. It works best if you refrain from using JSF AJAX. You hardly ever need AJAX. In most cases Javascript does the trick just as well, probably even better.

But if you insist: Well, yes, since AngularFaces 2.1 you can add JSF AJAX to an AngularFaces application.

Using traditional JSF AJAX with AngularJS

Marco Rinck contributed his great JUA library allowing AngularJS applications to survive a JSF request. That's not an easy achievement: AngularJS assumes to have to control over the DOM tree. So does JSF. Both frameworks get in each other's way, causing all kinds of problems, such as memory leaks and cutting the connection of the HTML elements to the AngularJS scope.

In most cases, JUA solves these problems without further ado. When JSF updates the DOM tree, JUA takes care of releasing memory claimed by AngularJS and initializing the updated DOM elements without disturbing older DOM elements. Marco's library frees the memory allocated by AngularJS and registers the updated region of your JSF view with AngularJS. You don't have to care about it, just leave it to JUA.

However, as a rule of thumb, don't use traditional JSF AJAX requests with AngularFaces. As of AngularFaces 2.1, even a great library like JUA has its limitations.

Re-initializing AngularJS after an AJAX request

In rare cases, AngularJS doesn't recover from an AJAX request. In this case you can re-initialize the AngularJS engine by adding <ac:updateModelAfterAJAXRequest />. There's a caveat: most likely this causes client-side memory leaks.

A página ainda não foi traduzido para o Português. Por favor, leia a tradução em Inglês. Pedimos desculpas por qualquer inconveniente.

Don't do it!

AngularFaces simplifies JSF by replacing AJAX by native client-side programming. It works best if you refrain from using JSF AJAX. You hardly ever need AJAX. In most cases Javascript does the trick just as well, probably even better.

But if you insist: Well, yes, since AngularFaces 2.1 you can add JSF AJAX to an AngularFaces application.

Using traditional JSF AJAX with AngularJS

Marco Rinck contributed his great JUA library allowing AngularJS applications to survive a JSF request. That's not an easy achievement: AngularJS assumes to have to control over the DOM tree. So does JSF. Both frameworks get in each other's way, causing all kinds of problems, such as memory leaks and cutting the connection of the HTML elements to the AngularJS scope.

In most cases, JUA solves these problems without further ado. When JSF updates the DOM tree, JUA takes care of releasing memory claimed by AngularJS and initializing the updated DOM elements without disturbing older DOM elements. Marco's library frees the memory allocated by AngularJS and registers the updated region of your JSF view with AngularJS. You don't have to care about it, just leave it to JUA.

However, as a rule of thumb, don't use traditional JSF AJAX requests with AngularFaces. As of AngularFaces 2.1, even a great library like JUA has its limitations.

Re-initializing AngularJS after an AJAX request

In rare cases, AngularJS doesn't recover from an AJAX request. In this case you can re-initialize the AngularJS engine by adding <ac:updateModelAfterAJAXRequest />. There's a caveat: most likely this causes client-side memory leaks.

Besser nicht!

AngularFaces vereinfacht JSF, indem es AJAX durch Javascript auf dem Client ersetzt. Es funktioniert am besten, wenn Sie der Versuchung widerstehen, JSF-AJAX zu verwenden. In den meisten Fällen funktioniert Javascript genauso gut, wenn nicht sogar besser.

Aber wenn Sie aus irgendwelchen Gründen darauf bestehen: Ja, es ist möglich. Seit AngularFaces 2.1 können Sie JSF-AJAX mit AngularFaces verwenden.

JSF-AJAX mit AngularJS verwenden

Marco Rinck hat eine großartige Bibliothek geschrieben, um AJAX und AngularJS kombinieren zu können. JUA ermöglicht es einer AngularJS-Anwendung, einen JSF-AJAX-Request zu "überleben". Das ist eine große Leistung: die AngularJS-Entwickler gehen davon aus, die volle Kontrolle über den DOM-Baum im Browser zu haben, und die JSF-Entwickler auch. Damit kommen sich beide Frameworks in die Quere. Das verursacht alle möglichen Probleme. Beispielsweise Speicherlecks, oder AngularJS-Widgets, die nach einem JSF-Request nicht mehr mit dem AngularJS-Scope verbunden sind.

In den meisten Fällen löst JUA diese Probleme ohne Ihr Zutun. JUA kümmert sich darum, Speicher, der von AngularJS reserviert wurde und nach dem Request nicht mehr gebraucht wird, freizugeben und die neuen Bildschirmelemente wieder mit dem AngularJS-Modell zu verknüpfen. Sie brauchen sich normalerweise nicht darum zu kümmern. Überlassen Sie das einfach JUA.

Aber, als Faustregel gilt weiterhin: bitte verwenden Sie AJAX nur dann, wenn es gar nicht anders geht. Selbst eine so großartige Bibliothek wie JUA hat ihre Grenzen.

AngularJS nach einem JSF-AJAX-Request neu initialisieren

In seltenen Fällen erholt sich AngularJS nicht mehr von einem AJAX-Request. Sie können dann eine Neu-Initialisierung erzwingen, indem Sie <ac:updateModelAfterAJAXRequest /> hinzufügen. Vorsicht: mit großer Wahrscheinlichkeit führt das zu Speicherlecks auf dem Client.