Tapestry/Структура проекта

Материал из Викиучебника — открытых книг для открытого мира
Перейти к навигации Перейти к поиску
Структура каталогов в NetBeans

При создании нового приложения с использованием Tapestry, создается типовая иерархия файлов и директорий проекта. Классы Java размещаются в /src/main/java (Source Packages↓), дополнительные ресурсы находятся в директории /src/main/resources (Other sources↓), веб страницы в /src/main/webapp (Web Pages↓).

С физическое местоположение файлов нас мало интересует, далее мы будем рассматривать логическую иерархию файлов в NetBeans.

Любая страница описывается в виде класса, котороый находится в пакете appname.pages, где appname — имя пакета c классами Tapestry. В файле web-pages/WEB-INF/web.xml параметр tapestry.app-package задаёт этот пакет.

Web Pages[править]

В этом каталоге находятся шаблоны страниц (*.tml) приложения

Файл index.tml[править]

Шаблон главной (индексной) страницы.

META-INF[править]

WEB-INF[править]

appname.properties[править]

Глобальные свойства проекта, такие как, заголовки, сообщения (messages), хранятся в специальнов файле:

web-pages/WEB-INF/appname.properties

Файл web.xml[править]

Файл основных параметров приложения.

   <context-param>
       <?-- Путь где tapestry будет искать файлы -->
       <param-name>tapestry.app-package</param-name>
       <param-value>com.org.quickstart</param-value>
   </context-param>

Параметр com.org.quickstart путь по которму Tapestry будет искать файлы приложения. Поэтому директория com.org.quickstart находится в src/main/java.

layout[править]

Файлы *.css

Source Packages[править]

appname.components[править]

Компоненты

appname.pages[править]

  • Исходные коды *.java для страниц приложения

Файл Index.java[править]

Контроллер соответствующий шаблону Index.tml

Находится примерно здесь

src/main/webapp/

Но может находиться и в

src/main/resources/[appname]/pages

Это зависит от договоренностей среди разработчиков проекта.

appname.services[править]

Сервисы

Файл AppModule.java[править]

IoC (обращение контроля) - конструктор модулей для приложения. Простыми словами все конфигурационные данные обрабатываются здесь.

Other sources[править]

/src/main/resources[править]

<default package>[править]

appname.components[править]

Компоненты

Файл Layout.tml[править]

Основной шаблон для всех страниц

Project Files[править]

Файл pom.xml[править]

Файл настроек Maven, включая jetty плагин, благодаря которому мы можем запускать приложение с помощью команды mvn jetty:run. Jetty - позволяет нам видеть изменения в процессе написания кода без перезагрузки веб-сервера.