2009-06-18 5 views
3

Ich bin derzeit mit der JBoss RichFaces JSF-Komponentenbibliothek für das Projekt an dem ich arbeite. Es funktioniert im Allgemeinen ziemlich gut, besonders die AJAX-Unterstützung von ajax4jsf (A4J), aber ich finde das normalerweise sehr unflexible Tabellen-Markup, das für fast jede Komponente verwendet wird, und all dieses "Haut" Zeug von RichFaces ziemlich nervig. Es wäre schön, wenn es einige Komponenten gäbe, die nur die Funktionalität und nur minimalen Markup/Style zur Verfügung stellen würden. Ursprünglich hatte ich geplant, ICEfaces zu verwenden, aber das hat auch nicht so gut funktioniert und bringt auch viele vordefinierte Stile mit sich, so dass RichFaces vorerst die beste Option ist.Ist Ajax4jsf tot? Welche anderen AJAX-Bibliotheken für JSF gibt es?

Jetzt dachte ich, es wäre nett, eine saubere Tag-Bibliothek zu entwickeln, die einige nützliche Komponenten in RichFaces, ICEfaces oder Tomahawk (nicht alle natürlich!) Zur Verfügung stellt, die keinen vordefinierten Stil verwenden und Markup generieren können einfach mit CSS gestylt werden.

Ich wollte die Ajax4jsf-Bibliothek für AJAX-Unterstützung verwenden, weil ich denke, es funktioniert ganz gut und integriert nahtlos in Standard-JSF mit Facelets. Aber seit es zu JBoss übergegangen ist, scheint es nicht mehr als eigenständige Bibliothek verfügbar zu sein. Sie können nur das gesamte RichFaces-Paket herunterladen, das ich nicht möchte.

Ist Ajax4jsf (A4J) Projekt tot? Wenn ja, welche Alternativen gibt es?

Antwort

1

Wenn Sie lesen die ajax4jsf forum Sie werden sehen, dass es mit Richfaces verschmolzen worden ist.

Sie müssen nicht über die Komponenten Richfaces auf Ihrer Seite verwenden, so haben Sie ein Problem mit den Krügen in Ihrem Projekt mit?

Ich bin damit einverstanden, dass viele JSF-Komponenten (nicht nur Richfaces) auf Tabellen basieren (. ZB h: selectManyCheckbox). Vergessen Sie nicht, dass es einfach ist, für viele davon einen neuen Renderer zu schreiben. Ich habe dies für die h:selectManyCheckbox getan, so dass die Kontrollkästchen innerhalb divs statt einer Tabelle gerendert werden. Ich würde denken, dass Sie in der Lage sein sollten, das gleiche für Richfaces-Komponenten zu tun ... aber wenn das der Fall ist, warum dann verwenden Sie sie?

Sie können es einfacher/netter mit jQuery UI-Elementen finden und sie mit a4j: jsFunction (oder ähnlich) an Ihre Beans binden.

+0

Ich wusste, dass sie irgendwie verschmolzen, aber danke für den Link zu der offiziellen Erklärung. Wie es scheint, kann ich A4J nicht in einem anderen Bibliotheksprojekt verwenden, da ich immer einige RichFaces-Sachen mitnehmen müsste. Wie Sie vorschlagen, scheint die Kombination von jQuery mit a4j die größte Flexibilität zu bieten, weshalb es gut wäre, eine eigenständige A4J-Bibliothek zu haben. –

+0

es trägt nichts in Bezug auf das Seitengewicht - nur Gläser in Ihrem WAR/EAR. Auch wenn Sie andere javascript-basierte UI-Frameworks einfach anschließen möchten, lesen Sie die REST-Unterstützung in Seam 2.1.2. Fantastisches Zeug. – Damo

0

Wenn Sie abenteuerlich fühlen, bei JSF 2 einen Blick darauf werfen. Es verfügt über eine Shift-in-View-Technologie von JSP zu Facelets und eingebaut in AJAX support. David Geary hat eine Reihe von JSF 2 fu Artikeln auf developerWorks laufen lassen (obwohl Sie auf Teil 3 für die AJAX-Sachen warten müssen). Ed Burns und Jim Driscoll haben verschiedene Funktionen während der Entwicklung der neuen API demonstriert, also sollten Sie vielleicht auch ihre Blogs anschauen.

+0

Ich warte sehnsüchtig auf JSF 2, um für die Produktion bereit zu machen, es würde so viele Probleme lösen, die wir derzeit arbeiten müssen ... –

0

einfach einen Kommentar. Ich begann mit Eisflächen. Ich bin auch ein Webdesigner und ich bin sehr auf Aussehen und Gefühl der Icefaces-Komponenten in Bezug auf meine Webanwendung. Ich war sehr frustriert über die Zeit, die ich gebraucht habe, um das Aussehen und die Haptik von Icefaces-Komponenten mit CSS zu verändern. Die Komponenten hatten viele verschachtelte Tabellen Markup, die mich geärgert haben.

Als ich zu Richfaces wechselte. Ich entdeckte, dass es viel einfacher war, das Look-n-Feeling zu übergehen, da Richfaces ein integriertes System haben, das das Look-n-Feel in CSS überlagert. Die den Komponenten zugewiesenen CSS hatten ähnliche und sinnvolle Klassennamen, die das Vorhersagen und Überschreiben erleichterten.