Archiv verlassen und diese Seite im Standarddesign anzeigen : JSF -> IceFaces, RichFaces, MyFaces
Tiamat
2009-11-04, 22:02:36
Hallo,
ich arbeite grad an einem Projekt, bei dem JavaEE und JSF eingesetzt wird.
Mit Java2SE kenne ich mich zwar gut aus, aber in J2EE und JSF werde ich mich auch erst einarbeiten müssen.
Jetzt gibt es zusätzliche Bibliotheken, die ich im Titel erwähnt habe, die die Funktionalität von JSF ziemlich erweitern, um z.b Ajax.
Hat jemand von euch bereits mit einem oder mehreren Bibliotheken gearbeitet und kann eine Empfehlung dafür aussprechen oder hat vielleicht ziemlich mieße Erfahrungen damit gesammelt, vielleicht auch kurz begründen, warum.
Vielen Dank im voraus
Gruß
Tiamat
clerfayt
2009-11-05, 01:11:21
Hallo,
ich arbeite grad an einem Projekt, bei dem JavaEE und JSF eingesetzt wird.
Hallo - und: dito. :)
Hat jemand von euch bereits mit einem oder mehreren Bibliotheken gearbeitet und kann eine Empfehlung dafür aussprechen oder hat vielleicht ziemlich mieße Erfahrungen damit gesammelt, vielleicht auch kurz begründen, warum.
Wir setzen RichFaces ein. Ich tue mich schwer damit, eine Empfehlung auszusprechen - aus verschiedenen Gründen:
Mir fehlt der Vergleich mit den anderen "Gesichtern".
Ich bin ganz hauptsächlich mit der Oberflächengestaltung und Benutzerführung betraut, habe also mit der Verzahnung mit Beans etc. nur am Rande zu tun und kann zu diesem Thema wenig sagen.
Es war keine Entscheidung, die wir selber nach aktivem Abwägen getroffen haben: Die Workflow-Software, die wir anpassen, setzt halt auf RichFaces.
Die Bibliothek war von Anfang an im Projekt eingebaut - ich habe keine Ahnung, wie schwer/aufwendig es wäre, sie von Null anfangend zu implementieren/installieren.
Aus gestalterischen Gesichtspunkten nervt es mich, dass ich mir nicht einfach die CSS-Dateien schnappen und überschreiben kann, sondern vielfach zeitaufwendiges "Reverse Engineering" mithilfe von Firebug (halleluja!!) und der RichFaces-Doku betreiben muss, welche spezielle Klasse á la .rich-stgl-panel-header jetzt welchen Bereich welcher Komponente designt, diese dann in meinem "custom-richfaces.css" notiere und neu deklariere.
Allerdings kann man teilweise mit sehr wenigen Handgriffen nette Effekte erzielen, die man bei anderen Lösungen erst umständlich zusammenbauen und austesten muss - die RichFaces-Komponenten sind gründlich getestet und sehr stabil (aus meiner Sicht bisher), und zudem sehr gut anpassbar an die eigenen Anforderungen.
Beispiele: aufwendige Dropdown-Menüleisten, modale Panels (zB für Wizard-ähnliche Benutzerführung), Kalendereingabefelder etc etc.
Falls gewünscht, kann ich noch ein paar Links nachlegen - die sind nur alle im Büro im Browser und nicht hier =)
EDIT:
Demo-Seiten mit RichFaces-Komponenten zum Anschauen (http://livedemo.exadel.com/richfaces-demo/index.jsp)
RichFaces Developer Guide (http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/index.html)
Hoffe, das hilft schon mal weiter.
Grüße!
DanMan
2009-11-05, 17:33:57
Ich habe mich bei einem Projekt mit Richfaces beschäftigen müssen. Im Grunde ganz ok, was mir als Web-Puristen nicht gefällt, ist das ganze überflüssige Markup, was zur Laufzeit generiert wird. Valides HTML? Vergiss es.
Ansonsten stößt mir dann die Masse an JS-Dateien auf (Prototype, Scriptaculous UND JQuery laufen alle standardmäßig gleichzeitig). Wie clerfayt schon erwähnt gehen sie auch mit CSS-Regeln verschwenderisch um, was die Übersicht natürlich in mitleidenschaft zieht. Aber wenns nach denen geht soll man ja auch ein eigenes Skin erstellen...
Was wohl alle gemeinsam haben ist, dass es die gefühlte Geschwindigkeit der Seiten herunterzieht. Typisches Middleware Problem.
Ihr solltet auf jeden Fall JSF 2.0 (http://andyschwartz.wordpress.com/2009/07/31/whats-new-in-jsf-2/) verwenden - da ist zumindest Facelets (https://facelets.dev.java.net/) schon eingebaut. Das sind aber keine Widgets, sondern ein View-Handler (?), mit dem man dringend notwendige Templates für Seiten erstellen kann.
Tiamat
2009-11-05, 21:40:28
Hi,
JSF 2.0 ist aber noch nicht Final oder ? Wir dürfen nur die finalen JSFs benutzen, da dies der Kunde betrieblich einsetzen wird und keine Beta-Umgebung benutzt werden soll.
Mit RichFaces hab ich heute mal erste Erfahrungen gemacht, fügt sich ingesamt stimmig ins Restbild auf den ersten Blick. Soll heißen, man benutzt es ja eigentlich nur in den .jsp Dateien, mit irgendwelchen prefixbefehlen z.b <rich:blabup ..> Unterschiede bei den Beans hab ich keine feststellen können ( hab allerdings nur n wenig experimentiert )
Um den möglicherweise nicht konformen HTML-Code mach ich mir eigentlich weniger Gedanken. Der Kunde hat uns bei der einzusetzenden Technik keine Wahl gelassen: "J2EE und JSF sind Pflicht", also das soll er auch haben, mit allen Vor- und Nachteilen ;D
Heute hab ich von nem Kollegen gehört, das Drag n Drop bei RichFaces nicht so easy seien, wie er dachte.
Bin mal auf andere Meinungen gespannt.
Gruß
Tiamat
DanMan
2009-11-05, 22:09:24
Hi,
JSF 2.0 ist aber noch nicht Final oder ?
Kein Interesse an dem Link den ich gepostet hab? Da hättest du nämlich den gefunden: http://jcp.org/aboutJava/communityprocess/final/jsr314/index.html
JSP als View-Handler soll grauenvoll sein. Mit Facelets (bzw. JSF2) kannst du z.B. JSF und HTML Elemente mischen. Also sowas ist kein Problem:
<div id='irgendwas'>
<h:dataTable value="#{bean.music}" var="cd">
<h:column>#{cd.artist}</h:column>
</h:dataTable>
</div>
Man beachte, dass ich auch direkt die Expression Language benutz hab anstelle von <h:outputText value="#{cd.artist}" />.
Tiamat
2009-11-06, 18:35:58
Doch klar, ich war nur verwundert, da ich zweimal irgendwo gelesen habe, dass JSF 2.0 erst zum Jahresende erscheint.
Ich werd´s auf jeden Fall ausprobieren :)
Auf jeden Fall 2.0 verwenden.
Wir setzen z.B. zusätzlich IceFaces (http://www.icefaces.org/main/home/) ein.
Tiamat
2009-12-13, 13:37:38
Hi,
also aufgrund der Kundenumgebung müssen wir JSF 1.2 und Tomcat 6 einsetzen, wir haben uns zusätzlich noch auf RichFaces geeinigt.
Wie bekomm ich das hin, dass wenn ich Datenobjekte aus der Datenbank über ein Formular editieren möchte, die Inputfelder mit bereits vorhanden Werten der EntityBean vorbelegt werden? Ich erhalte stattdessen stets blanke Formulare.
Achso vergessen: Wie bekomm ich das hin, ohne die Seite neu laden zu müssen? Mit Ajax schon klar, aber wie ? ^^
Gruß
Tiamat
DanMan
2009-12-13, 23:01:19
Hi,
also aufgrund der Kundenumgebung müssen wir JSF 1.2 und Tomcat 6 einsetzen, wir haben uns zusätzlich noch auf RichFaces geeinigt.
Wie bekomm ich das hin, dass wenn ich Datenobjekte aus der Datenbank über ein Formular editieren möchte, die Inputfelder mit bereits vorhanden Werten der EntityBean vorbelegt werden? Ich erhalte stattdessen stets blanke Formulare.
Achso vergessen: Wie bekomm ich das hin, ohne die Seite neu laden zu müssen? Mit Ajax schon klar, aber wie ? ^^
Tjo, mein Beileid was JSF 1.2 angeht.
Ich gehe mal davon aus, dass du <h:inputText> Elemente benutzt. Wenn du denen auch ein "value" Attribut verpasst, dann sollte der Wert eigentlich drinstehen. Ich war allerdings nur für den View-Teil verantwortlich, weshalb ich mich da nicht so gut auskenne. Wenn du das so machst, dann brauchst du auch kein Ajax. Ansonsten geht das mit RichFaces. Wie genau weiß ich gerade nicht. :frown:
Tiamat
2009-12-14, 08:18:11
Ja das Problem ist folgendes:
Ich hab ne Ausgabeliste von bestimmten EntityBeans:
Wird eine Zeile in einem gewissen Bereich selektiert, öffnet sich ein ModalPanel mit dem entsprechenden Formular.
<rich:datatable var="list" ..>
<a4j:commandLink actionListener="#{ cm.setSelectedObjectFromRequest}" reRender="editForm" oncklick="Richfaces.showModalPanel('panel')">
<h:outputText value="#{ list.name }">
</a4j:commandLink>
</rich:datatable>
...
<a4j:form id="editForm">
<h:outputText ...>
<h:inputText value="# { cm.selectedObject.attribut }">
..
</a4j:form>
Das Problem hab ich noch an einer anderen Stelle, wo checkboxen automatisch gesetzt werden sollen.
Yavion
2009-12-14, 20:29:49
Ich zähle mal kühn 1+1 zusammen und tippe auf SEP (?)
Wie auch immer: viel Erfolg mit dem Projekt und Grüße nach Mannheim! ;)
(Auch wenn ich zu der Sache gerade nicht viel sagen kann, da wir vor einiger Zeit vor einem ähnlichen Problem standen.....allerdings eher mit JSPs, Struts etc.)
Tiamat
2009-12-16, 08:04:40
Moin,
ja das stimmt :-)
Ich hab auch JSF Bücher hier, nur vermitteln die einem eigentlich nur Basics. Wie geht man mit der EL um, BackingBeans, Validatoren, Converter, das Einsteigerzeug halt.
Bei Richfaces gibt´s ja eigentlich sowieso nur die Exadel Demos, die zwar schon sehr gut erläutert sind, aber kein darüber hinaus gehendes Wissen vermitteln und sage und schreibe ein englisches Buch auf dem Markt ist.^^
Ich werds mal mit Ajax Listenern versuchen..
Gruß
Shink
2009-12-16, 09:28:43
Bleib dran bezüglich JSF 2. Ich weiß ja nicht wie lange bei eurem Projekt Laufzeit ist aber spätestens bei der Einführung werden euch alle dafür beschimpfen dass ihr die ach-so-furchtbaren JSF 1.2 verwendet.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.