Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich arbeite mich gerade in JSF (2.0) ein und habe vorher immer nur mit JSP gearbeitet. Ich habe eine Frage, zu der ich im Internet immer nur widersprüchliche Antworten finde:
Gibt es in JSF die Möglichkeit, eine Masterseite zu definieren, um ein Layout nur an einer zentralen Stelle zu definieren, das dann für alle Seiten dieser Applikation gilt? Ich weiss, dass es bei ASP.NET diese Möglichkeit gibt.
ich arbeite mich gerade in JSF (2.0) ein und habe vorher immer nur mit JSP gearbeitet. Ich habe eine Frage, zu der ich im Internet immer nur widersprüchliche Antworten finde:
Gibt es in JSF die Möglichkeit, eine Masterseite zu definieren, um ein Layout nur an einer zentralen Stelle zu definieren, das dann für alle Seiten dieser Applikation gilt? Ich weiss, dass es bei ASP.NET diese Möglichkeit gibt.
Für einen Neuling auf diesem Gebiet ist es recht schwierig da durch zu blicken.
Ohne größere Suche bin ich bereits auf folgende Frameworks gestossen:
JSF, Facelets, IceFaces,MyFaces, Struts....
Da stellt sich mir die Frage: Womit fängt man als Anfänger da am Besten an? Welches Framework bietet welche Vorteile? IceFaces gefiel mir auf den 1. Blick ganz gut. Was habt ihr für Erfahrungen? Gibt es eine Sinnvolle! Reihenfolge, in der man sich mit diesen Frameworks beschäftigen sollte? Etwa, erst einmal JSF und dann z.B. Icefaces?!
Icefaces, Primefaces, usw. sind alles nur Aufsätze zu JSF, d.h. sie bieten dir schon vorgefertigte Komponenten, die JSF so nicht enthält. Struts hat da überhaupt nichts JSF zu tun, von daher das eine oder das andere
Welches "Faces"-Framework du letztendlich nimmst, ist Geschmackssache. Bevor du irgendeines nimmst, solltest du dich am besten erst mit den grundlegenden JSF-Sachen auseinandersetzen.
Was die Masterpage-Frage angeht: So wie das bei ASP.NET realisiert ist, gibt es das bei JSF nicht. Aber du kannst dir in JSF Templates erstellen und die weiteren Seiten können von diesem ableiten oder selbst wieder ein Template bilden. Das kommt den Masterpage auf jeden Fall am nächsten.
kidsos hat recht.
Zu deiner Frage:
Wenn du frickeln willst gehst du auf die vielversprechende JSF-Linie.
Dazu würde ich folgenden Ablauf vorschlagen:
JSP (Das hast du ja fertig)
JSF (Netbeans)
Facelets oder MyFaces (Eclipse)
ajax4jsf (Eclipse, ab hier mit Datenbank mit/ohne Hibernate)
Richfaces (JBoss Dev Studio)
Seam (JBoss Dev Studio)
Icefaces oder Primefaces (JBoss Dev Studio)
Cocoon (JBoss Dev Studio und IntelliJ IDEA)
Wenn du eintöniges Tippen willst das stabil läuft, solltest du Struts verwenden.
ich arbeite mich gerade in JSF (2.0) ein und habe vorher immer nur mit JSP gearbeitet. Ich habe eine Frage, zu der ich im Internet immer nur widersprüchliche Antworten finde:
Gibt es in JSF die Möglichkeit, eine Masterseite zu definieren, um ein Layout nur an einer zentralen Stelle zu definieren, das dann für alle Seiten dieser Applikation gilt? Ich weiss, dass es bei ASP.NET diese Möglichkeit gibt.
Da du dich ja bereits in die aktuelle JSF-Version einarbeitest, hast du den Vorteil, dass seit der Version 2.0 der empfohlene "Präsentationsmechanismus" Facelets ist und somit direkt in JSF2.0 eingebettet ist. Facelets ist eine sehr mächtige Templating-Methode, die aus den folgenden Bestandteilen besteht:
* Einem Template, das den eigentlichen Aufbau der Seite definiert
* Einem oder mehreren Template-Clients, die ein Template verwenden und bestimmte Inhalte definieren, die an festgelegten Stellen in den Template eingesetz werden.
Ein Template könnte zB wie folgt aussehen (template.xhtml):
Wichtig ist dabei zu wissen, dass Facelets alle Teile des Template-Client außerhalb der <ui:composition>-Tags abschneidet.
Die <ui:insert>-Tags definieren die Bereiche an denen Inhalte durch den Template-Client eingefügt werden können. Die <ui:define>-Tags im Client definieren dann diese Inhalte und verbinden diese über den Namen mit den entsprechenden Teilen des Templates.
Um Facelets mit JSF2.0 zu verwenden ist keinerlei Konfiguration notwendig, da es, wie schon erwähnt, fix eingebaut in JSF2 ist.
Was ich noch vergessen habe:
Man kann auch mit <ui:include src="filename.xhtml" /> arbeiten. Damit kann man auch etwas kompliziertere Templates aufbauen. Diesen include-Files kann man auch parameter übergeben, die dann direkt ansprechbar sind.