Frage

Was würde die Masterseiten äquivalent in der Java-Web-Entwicklung Welt sein? Ich habe von Fliesen, Tapisserie und Geschwindigkeit gehört, aber weiß nichts über sie. Sind sie so einfach wie Masterseiten zu benutzen?

Ich mag etwas so einfach wie eine Vorlage einrichten und nachfolgende Seiten stammen aus der Vorlage und überschreiben Inhaltsbereich, ähnliche Seiten zu meistern.

Alle Beispiele wären toll !!

War es hilfreich?

Lösung

Als erstes wird das Äquivalent von ASP.Net in Java geht ein Web-Framework sein, wie die, die Sie erwähnen (Fliesen, Tapisserie und Geschwindigkeit).

Masterseiten geben die Möglichkeit, Seiten in Bezug auf den Inhalt zu definieren, in einem Master-Template geschlitzt.

Masterseiten sind eine Funktion von ASP.Net (der .Net-Web-Framework), so dass Sie suchen eine Funktion ähnlichen Seiten in einem Java Web-Framework zu meistern.

http://tiles.apache.org/framework/tutorial/basic /pages.html gibt einige grundlegende Beispiele mit Fliesen und JSP etwas ähnliches mit Struts zu implementieren, ein Java-Web-Framework. In diesem Fall ist die Master-Seiten-Funktionalität ein Plugin auf dem Struts.

Die Geschwindigkeit ist ein generischer Template-Engine, nicht speziell für die Web-Seiten und auf jedem Fall komplizierter, als Sie benötigen. (Ich habe es gesehen für die Codegenerierung verwendet.)

Tapestry ist eher eine voll funktionsfähige Web-Stack als Fliesen und ist wahrscheinlich gut für Ihre Zwecke. Seine Templating Funktionalität beinhaltet eine Komponente erstellen und alle gängigen Markup, dass setzen. Ein Beispiel hierfür ist unter http://www.infoq.com/articles/tapestry5-intro.

Die Besonderheiten dieses unterscheiden sich basierend auf die Java Web-Framework Sie wählen.

Andere Tipps

Sie sollten auch überprüfen Facelets ; gibt es eine gute Einführungsartikel auf Developer rel="nofollow.

Die Facelets <ui:insert/>-Tag ist mit dem ASP.NET <asp:ContentPlaceHolder/> Tag vergleichbar in Masterseite verwendet wird; es kann Sie Standardinhalte für diesen Bereich der Seite zur Verfügung stellen, aber diese außer Kraft gesetzt werden können.

Um die Facelets Vorlage in einer anderen Seite zu füllen, beginnen Sie mit einem <ui:composition/> Elemente, das auf die Vorlage-Datei verweist. Dies entspricht etwa das Masterpagefile-Attribut in einer ASP.NET-Seite zu erklären.

Im Innern des <ui:composition/> Element verwenden Sie <ui:define/> Elemente, die die Vorlage Standardwert, ähnlich wie ein <asp:Content/>-Tag verwendet wird, außer Kraft zu setzen. Diese Elemente, jede Art von Inhalt enthalten -. Von einfachen Strings JSF-Elementen

Also, bringen sie alle zusammen ...

In master.xhtml :

<!-- HTML header content here -->
<ui:insert name="AreaOne">Default content for AreaOne</ui:insert>
<ui:insert name="AreaTwo">Default content for AreaTwo</ui:insert>
<!-- HTML footer content here -->

In page.xhtml :

<ui:composition template="/WEB-INF/templates/master.xhtml">
  <ui:define name="AreaOne">Here is some new content</ui:define>
  <ui:define name="AreaTwo">
    <p>Some new content here too</p>
  </ui:define>
</ui:composition>

Und das wird machen, wie:

<!-- HTML header content here -->
Here is some new content
<p>Some new content here too</p>
<!-- HTML footer content here -->

Sie erhalten auch einige andere Vorteile mit Facelets, wie die Fähigkeit, Seite Komponenten mit unterschiedlichen Daten wieder zu verwenden.

(Edited weitere Informationen zur Verfügung.)

Ich habe verwendet sitemesh in früheren Projekten und es ist ziemlich einfach einzurichten. Im Wesentlichen Sie Dekorateure schaffen, die Äquivalente von Masterseiten sind. Anschließend definieren Sie die Kinderseiten, die Dekorateure benutzen. Siehe Einführung für weitere Informationen SiteMesh .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top