Skip to content

A component-oriented framework for creating highly scalable web applications in Java.

License

Notifications You must be signed in to change notification settings

apache/tapestry-5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

efa6395 · Feb 2, 2025
Jan 21, 2025
Mar 12, 2024
Mar 4, 2022
Oct 25, 2024
Jun 7, 2022
Jan 31, 2024
Aug 24, 2024
Aug 8, 2024
Dec 2, 2020
Nov 2, 2011
Oct 27, 2024
Sep 8, 2024
Mar 2, 2024
Feb 2, 2025
Apr 6, 2023
Nov 2, 2024
Nov 2, 2024
Dec 9, 2024
Jun 8, 2022
Sep 8, 2024
Mar 4, 2022
Oct 27, 2024
Mar 4, 2022
Oct 27, 2024
Sep 8, 2024
Sep 8, 2024
Mar 2, 2024
Mar 2, 2024
Jun 7, 2022
Mar 2, 2024
Mar 2, 2024
Mar 2, 2024
Sep 8, 2024
Mar 2, 2024
Mar 4, 2022
Mar 4, 2022
Oct 27, 2024
Oct 26, 2024
Sep 21, 2024
Nov 10, 2024
Sep 8, 2024
Oct 24, 2023
Dec 11, 2021
Jan 2, 2021
Nov 23, 2018
Jan 17, 2019
Jun 16, 2023
Mar 9, 2008
Feb 24, 2012
Sep 30, 2023
Nov 2, 2024
Dec 2, 2021
Nov 18, 2023
Nov 18, 2023
Sep 9, 2024
May 16, 2012
Mar 2, 2024
Jan 21, 2025
Jan 9, 2019
Nov 20, 2014

Tapestry is a component-oriented Java web app framework focusing on performance and developer productivity.

A component is just a reusable part of a page. It's trivially easy to create your own components, and Tapestry comes with a large number of components you can use (Form, Loop, Select, Checkbox, Grid, BeanEditor, etc.).

In Tapestry, each page and component is a simple Java POJO with a corresponding HTML template. The HTML template and corresponding Java class have the same name (e.g. "Breadcrumbs.html" and "Breadcrumbs.java"), so you don't have to tell Tapestry which template uses which Java class. It's automatic.

Tapestry features live class reloading: change your Java code, refresh the browser and see the changes instantly.

AJAX support allows you to create responsive web interfaces while writing little to no JavaScript. (But if you like writing JavaScript, great, no problem, Tapestry gets out of your way.)

Quick Start

Main article: Getting Started

You can let Apache Maven create your initial project for you:

mvn archetype:generate -DarchetypeCatalog=http://tapestry.apache.org

Maven will prompt you for the archetype to create ("Tapestry 5 Quickstart Project") and the Tapestry version number (e.g., "5.4.3"). It also asks you to create a group id, artifact id (e.g., "newapp") and version number for your app. Once Maven dowloads everything, then you can start the app:

$ cd newapp
$ mvn jetty:run

Then just send your browser to http://localhost:8080/newapp

See the Getting Started introduction as well as the Tapestry Tutorial for a deeper dive.

Main Docs

See https://tapestry.apache.org/documentation.html for the details on every Tapestry topic.