- Apache Tapestry - Home
- Apache Tapestry - Overview
- Apache Tapestry - Architecture
- Apache Tapestry - Installation
- Apache Tapestry - Quick Start
- Apache Tapestry - Project Layout
- Convention Over Configuration
- Apache Tapestry - Annotation
- Pages and Components
- Apache Tapestry - Templates
- Apache Tapestry - Components
- Built-In Components
- Forms & Validation Components
- Apache Tapestry - Ajax Components
- Apache Tapestry - Hibernate
- Apache Tapestry - Storage
- Advanced Features
Apache Tapestry - Project Layout
Here is the layout of the source code created by Maven Quickstart CLI. Also, this is the suggested layout of a standard Tapestry Application.
build.gradle
gradle
wrapper
gradle-wrapper.jar
gradle-wrapper.properties
gradlew
gradlew.bat
pom.xml
src
main
java
com
example
MyFirstApplication
components
data
entities
pages
services
resources
com
example
MyFirstApplication
components
logback.xml
pages
Index.properties
hibernate.cfg.xml
log4j.properties
webapp
favicon.ico
images
tapestry.png
mybootstrap
css
bootstrap.css
bootstrap-theme.css
fonts
glyphicons-halflings-regular.eot
glyphicons-halflings-regular.svg
glyphicons-halflings-regular.ttf
glyphicons-halflings-regular.woff
glyphicons-halflings-regular.woff2
js
WEB-INF
app.properties
web.xml
site
apt
index.apt
site.xml
test
conf
testng.xml
webdefault.xml
java
PLACEHOLDER
resources
PLACEHOLDER
target
classes
com
example
MyFirstApplication
components
data
entities
logback.xml
pages
Index.properties
services
hibernate.cfg.xml
log4j.properties
m2e-wtp
web-resources
META-INF
MANIFEST.MF
maven
com.example
MyFirstApplication
pom.properties
pom.xml
test-classes
PLACEHOLDER
work
jsp
sampleapp.properties
sampleapp.script
The default layout is arranged like the WAR Internal File Format. Using WAR format helps to run the application without packaging and deploying. This layout is just a suggestion, but the application can be arranged in any format, if it is packaged into a proper WAR format while deploying.
The source code can be divided into the following four main sections.
Java Code − All java source codes are placed under /src/main/java folder. Tapestry page classes are placed under the Pages folder and Tapestry component classes are placed under components folder. Tapestry service classes are placed under services folder.
ClassPath Resources − In Tapestry, most of the classes have associated resources (XML Template, JavaScript files, etc.). These resources are placed under the /src/main/resources folder. Tapestry Page Classes have its associated resources under the Pages folder and Tapestry components classes have its associated resources under the Components folder. These resources are packaged into the WEB-INF/classes folder of the WAR.
Context Resources − They are static resources of a web application like Images, Style Sheet and JavaScript Library / Modules. They are usually placed under the /src/main/webapp folder and they are called Context Resources. Also, the web application description file (of Java Servlet), web.xml is placed under the WEB-INF folder of context resources.
Testing Code − These are optional files used to test the application and placed under the src/test/java and src/test/Resources Folders. They are not packaged into WAR.