Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: restore

Scrollbar

First, let's create an empty application. Tapestry provides a Maven archetype (a project template) to make this easy.

...

If you are behind a firewall/proxy, before performing any Maven downloads, you may need to configure your proxy settings in your Maven settings.xml file (typically in the .m2 subdirectory of your home directory, ~/.m2 or C:\users\joeuser\.m2). Here is an example (but check with your network administrator for the names and numbers you should use here).

Code Block
languagexml
titlesettings.xml
<settings>
  <proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>myProxyServer.com</host>
      <port>3128</port>
      <username>joeuser</username>
      <password>myPassword</password>
      <nonProxyHosts></nonProxyHosts>
    </proxy>
  </proxies>
  <localRepository>C:/Users/joeuser/.m2/repository</localRepository>
</settings>

Of course, adjust the localRepository element to match the correct path for your computer.

...

In Eclipse, go to File > New > Project... > Maven > Maven Project

Image RemovedImage Added

Then click Next, Next (again), and then on the Select an Archetype page click the Configure button on the Catalog line. The Archetype preferences dialog should appear. Click the Add Remote Catalog... button, as shown below:

Image RemovedImage Added

As shown above, enter "http://tapestry.apache.org" in the Catalog File field, and "Apache Tapestry" in the Description field.

Info

If you want to try an unreleased (alpha or beta) version of Tapestry, use the https://repository.apache.org/content/repositories/staging archetype catalog file instead.

Click OK, then OK again.

On the Select an Archetype dialog (shown below), select the newly-added Apache Tapestry catalog, then select the "quickstart" artifact from the list and click Next.

Image RemovedImage Added

Note: Screenshots in this tutorial may show different (either newer or older) versions of Tapestry than you may see.

Fill in the Group Id, Artifact Id, Version and Package  as follows:

Image RemovedImage Added

then click Finish.

Info

The first time you use Maven, project creation may take a while as Maven downloads a large number of JAR dependencies for Maven, Jetty and Tapestry. These downloaded files are cached locally and will not need to be downloaded again, but you do have to be patient on first use.

After Maven finishes, you'll see a new directory, tutorial1, in your Package Explorer view in Eclipse.

...

Right-click on the tutorial1 project in your Package Explorer view and select Run As > Maven Build... >, enter a Goal of "jetty:run". This creates a "Run Configuration" named "tutorial1" that we'll use throughout this tutorial to start the app:

Image RemovedImage Added

Tapestry runs best with a couple of additional options; click the "JRE" tab and enter the following VM Arguments:

Pre

-XX:MaxPermSize=256M

-Xmx600m

-Dtapestry.execution-mode=development

(If you're using JDK 1.8 then you should omit the MaxPermSize argument.)

Here's how it looks:

Image RemovedImage Added

Finally, click Run.

...

Once Jetty is initialized (which only takes a few seconds after the first time), you'll see the following in your console:

Image RemovedImage Added

Note the red square icon above. Later on you'll use that icon to stop Jetty before restarting the app.

You can now open a web browser to http://localhost:8080/tutorial1/ to see the running application:

 

Image RemovedImage Added

 

...

HTML
<div style="clear: both"></div>

NOTE: Your screen may look very different depending on the version of Tapestry you are using!

...

This is a complete little web app; it doesn't do much, but it demonstrate how to create a number of pages sharing a common layout, and demonstrates some simple navigation and link handling. You can see that it has several different pages that share a common layout. (Layout is a loose term meaning common look and feel and navigation across many or all of the pages of an application. Often an application will include a Layout component to provide that commonness.)

Next: Exploring the Project Creating The Skeleton Application

Scrollbar