Privacy Policy Cookie Policy Terms and Conditions Tapestry - Wikipedia

Tapestry

aus Wikipedia, der freien Enzyklopädie

Tapestry ist ein Open-Source-Framework für die Programmiersprache Java, mit dem Webanwendungen erstellt werden können. Es ist kein eigenständiger Server, sondern läuft im Kontext eines Servlet Containers wie dem Web-Application-Server Tomcat. Tapestry ist ein Toplevel-Projekt der Apache Software Foundation.

Tapestry-Anwendungen bestehen aus einer gewissen Anzahl von Seiten, wobei eine Seite aus wiederverwendbaren und konfigurierbaren Komponenten besteht.

In Tapestry beschreiben drei Bestandteile eine Seite. Dies sind eine HTML-Vorlage, eine Seitenspezifikation und eine Javaklasse. Die Besonderheit der HTML-Vorlage ist, dass sie neben HTML-Tags spezifische Tapestry-Tags für den dynamischen Inhalt enthält. Eine Hauptaufgabe der Seitenspezifikation ist, die Javaklasse festzulegen, die mit dieser Seite zu instanzieren ist. Die Javaklasse stellt schließlich die Verbindung zu einer Javaanwendung her.

Mit seiner komponentenbasierten Architektur, der Trennung von Darstellung (HTML, XML) und Code ähnelt Tapestry konzeptuell WebObjects ohne mit diesem kompatibel zu sein. Zusammen mit Cayenne eingesetzt ist es durchaus als freier WebObjects Ersatz verwendbar, der Wechsel von einem Framework zum anderen sollte für mit einem der beiden Frameworks erfahrene Entwickler aufgrund der Ähnlichkeiten reibungslos vonstatten gehen.

[Bearbeiten] Vorteile

Tapestry existiert, um die Entwicklung von Java-Web-Anwendungen zu vereinfachen. Das Framework wurde so entworfen, dass es einfacher möglich ist, robuste Anwendungen zu erzeugen, die wiederum einfacher zu erstellen, zu debuggen und zu warten sind, als herkömmliche Servlet-Anwendungen. Es nimmt dem Entwickler die Sorgen über Multithreading ab. Durch die klare Trennung von HTML- und Anwendungscode können Java- und HTML-Entwickler gemeinsam an einem Projekt arbeiten. Tapestry unterstützt darüber hinaus die Internationalisierung von Anwendungen sowie die Validierung von Benutzereingaben und bietet eine Reihe von vorgefertigten GUI-Komponenten wie Kalender, sortierbare Tabellen und Bäume. Der Funktionsumfang kann über das Erstellen eigener Komponenten erweitert werden.

[Bearbeiten] Rewinding

In Tapestry findet die Übertragung von Daten mit Hilfe eines Formulars in drei Schritten statt: Im erstem Schritt wird die HTML-Seite mit dem Formular gerendert. Der Nutzer editiert im zweiten Schritt die Eingabefelder des Formulars, und startet schließlich die dritte Phase, indem er die Submit-Schaltfläche betätigt.

Der Vorgang hat zwei Request-Zyklen zur Folge. Im ersten Zyklus wird die HTML-Seite angefordert und das Formular wird in diesem Zyklus gerendert. Der zweite Request- Zyklus wird beim Betätigen der Submit-Schaltfläche angestoßen.

In diesem Zyklus muss Tapestry die folgenden Aktionen ausführen:

  • die Werte aus den Eingabefeldern sind zu extrahieren
  • diese Werte sind manchmal zu konvertieren (String in Integer)
  • die konvertierten Werte sind den richtigen Page/Componenten-Properties zuzuweisen

Da in Tapestry die Zuordnung der Properties zu den Eingabefeldern während des Rendering erfolgt, nutzt Tapestry eine ungewöhnliche Herangehensweise: Es ermittelt genau diese Beziehungen, indem die Seite erneut gerendert wird. Diese Phase wird auch Rewind-Phase genannt.

In dieser Phase wird jede Komponente in der Form in der gleichen Reihenfolge besucht, wie es beim initalen Rendern geschieht und es werden die oben beschriebenen Aktionen ausgeführt. Im Unterschied zum initialen Rendervorgang wird die Listener-Methode der Submit-Form nur in der Rewinding-Phase aufgerufen.

[Bearbeiten] Weblinks

Andere Sprachen
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu