Apache Tapestry

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Tapestry.
Apache Tapestry
Image illustrative de l'article Apache Tapestry
Logo

Développeur Apache Software Foundation
Version avancée 5.3.7
Environnement Multi-plateforme
Langue Anglais
Licence Apache License 2.0
Site web http://tapestry.apache.org

Tapestry est un framework libre qui facilite la création d'applications web Java basées sur J2EE à partir de composants.

Historique[modifier | modifier le code]

Initialement créé par Howard Lewis Ship, le projet Tapestry a été intégré par la fondation Apache comme sous-projet Jakarta puis il a évolué pour devenir un projet Apache à part entière. Tapestry dispose d'une architecture à base de composants avec des idées que l'on retrouve notamment dans le framework d'Apple WebObjects.

Caractéristiques[modifier | modifier le code]

Tapestry utilise XML/HTML pour le rendu des pages et implémente la logique en Java en suivant le motif de conception MVC: Template Tapestry, Pages/Composants Java, Services Java. Il met l'accent sur la simplicité d'utilisation. Par une forte connectivité entre les éléments de la page Web (Template) et le code sous-jacent (Pages/Composants Java), il évite au développeur d'écrire d'énormes blocs de code de liaison, en utilisant le paradigme convention plutôt que configuration.

Une application Tapestry s'appuie sur des Pages qui sont configurées par des Composants. Une Page comprend deux parties: Un XML (.tml) et une classe Java (.java). Le XML permet l'insertion de Tag HTML des composants Tapestry natifs ou d'autres bibliothèques tiers. Par exemple, un simple lien d'une page à une autre correspond au composant PageLink.

Un exemple simple d'une page Tapestry[modifier | modifier le code]

Cet exemple montre la partie internationalisation des pages de Tapestry avec la variable mentionné dans ${message:title} qui sera reprise à partir des fichiers .properties associé en fonction de la langue positionné dans votre navigateur et un lien vers la page par défaut du site (index).

Le pseudo-HTML de la page du site (vue): Exemple.tml

<t:layout title="${message:title}"
      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
      xmlns:p="tapestry:parameter">
 
    <p>${message:text}</p>
 
    <t:pagelink page="index">${message:index}</t:pagelink>
</t:layout>

La classe Java qui implémente le comportement de la page (contrôle):

package org.exemples.pages;
 
public class Exemple{
 
}

Données du fichier fr.properties en français:

title: Exemple
text: Ceci est juste un test
index: Début

Données du fichier en.properties en anglais:

title: my little example
text: This is only a test
index: Mainpage

Fonctionnalités[modifier | modifier le code]

Applications utilisant Tapestry[modifier | modifier le code]

Bibliothèque des composants Tapestry[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]