tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r961168 [1/5] - in /websites/production/tapestry/content: ./ cache/
Date Sat, 08 Aug 2015 17:20:05 GMT
Author: buildbot
Date: Sat Aug  8 17:20:04 2015
New Revision: 961168

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/autoloading-modules.html
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/case-insensitivity.html
    websites/production/tapestry/content/chainbuilder-service.html
    websites/production/tapestry/content/creating-the-skeleton-application.html
    websites/production/tapestry/content/defining-tapestry-ioc-services.html
    websites/production/tapestry/content/dependencies-tools-and-plugins.html
    websites/production/tapestry/content/exploring-the-project.html
    websites/production/tapestry/content/getting-started.html
    websites/production/tapestry/content/implementing-the-hi-lo-guessing-game.html
    websites/production/tapestry/content/injection-in-detail.html
    websites/production/tapestry/content/object-providers.html
    websites/production/tapestry/content/ordering-by-constraints.html
    websites/production/tapestry/content/pipelinebuilder-service.html
    websites/production/tapestry/content/service-advisors.html
    websites/production/tapestry/content/service-implementation-reloading.html
    websites/production/tapestry/content/service-serialization.html
    websites/production/tapestry/content/shadowbuilder-service.html
    websites/production/tapestry/content/strategybuilder-service.html
    websites/production/tapestry/content/symbols.html
    websites/production/tapestry/content/tapestry-ioc-configuration.html
    websites/production/tapestry/content/tapestry-ioc-decorators.html
    websites/production/tapestry/content/tapestry-ioc-modules.html
    websites/production/tapestry/content/tapestry-ioc-overview.html
    websites/production/tapestry/content/type-coercion.html
    websites/production/tapestry/content/using-beaneditform-to-create-user-forms.html
    websites/production/tapestry/content/using-tapestry-with-hibernate.html

Modified: websites/production/tapestry/content/autoloading-modules.html
==============================================================================
--- websites/production/tapestry/content/autoloading-modules.html (original)
+++ websites/production/tapestry/content/autoloading-modules.html Sat Aug  8 17:20:04 2015
@@ -62,12 +62,12 @@
 <div class="clearer"></div>
 
   <div id="breadcrumbs">
-        <a href="index.html">Apache Tapestry</a>&nbsp;&gt;&nbsp;<a
href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a href="user-guide.html">User
Guide</a>&nbsp;&gt;&nbsp;<a href="ioc.html">IoC</a>&nbsp;&gt;&nbsp;<a
href="autoloading-modules.html">Autoloading Modules</a>
+        <a href="index.html">Apache Tapestry</a>&nbsp;&gt;&nbsp;<a
href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a href="user-guide.html">User
Guide</a>&nbsp;&gt;&nbsp;<a href="ioc.html">IOC</a>&nbsp;&gt;&nbsp;<a
href="autoloading-modules.html">Autoloading Modules</a>
     <a class="edit" title="Edit this page (requires approval -- just ask on the mailing
list)" href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=23338476">edit</a>
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><h1 id="AutoloadingModules-AutoloadingModules">Autoloading
Modules</h1><p>An important part of Tapestry IoC is the autoloading of modules;
this allows new features to be added to an application just by "dropping in" a JAR that contains
a module: the services in the module are automatically integrated into the overall service
registry, along with any configuration or other supporting code and resources.</p><p>An
example of this is the <a shape="rect" href="uploading-files.html">tapestry-upload</a>
library, which introduces an Upload component, along with supporting services related to handling
file upload requests.</p><p>The core Tapestry IoC module is automatically included.
When using the Tapestry web framework, the core Tapestry module is also included, as is an
optional per-application module, plus any autoloaded modules.</p><p>Module autoloading
isn't 100% free ... you must tell Tapestry IoC where the modules to load are located, which
can be done via
  a Manifest file entry, or via an annotation.</p><h1 id="AutoloadingModules-JARManifestEntries">JAR
Manifest Entries</h1><p>When setting up the registry, Tapestry can automatically
locate modules packaged into JARs. It does this by searching for a particular global manifest
entry.</p><p>The manifest entry name is "Tapestry-Module-Classes". The value is
a comma-separated list of fully qualified class names of module classes (this allows a single
JAR to contain multiple, related modules). Whitespace is ignored.</p><p>Example:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+<div id="ConfluenceContent"><p><strong>Autoloading of modules</strong>
allows new features to be added to an application just by "dropping in" a JAR that contains
a module: the services in the module are automatically integrated into the overall service
registry, along with any configuration or other supporting code and resources.</p><p>An
example of this is the <a shape="rect" href="uploading-files.html">tapestry-upload</a>
library, which introduces an Upload component, along with supporting services related to handling
file upload requests.</p><p>The core Tapestry IoC module is automatically included.
When using the Tapestry web framework, the core Tapestry module is also included, as is an
optional per-application module, plus any autoloaded modules.</p><p>Module autoloading
isn't 100% free ... you must tell Tapestry IoC where the modules to load are located, which
can be done via a Manifest file entry, or via an annotation.</p><h1 id="AutoloadingModules-JARManifestEntries">JAR
M
 anifest Entries</h1><p>When setting up the registry, Tapestry can automatically
locate modules packaged into JARs. It does this by searching for a particular global manifest
entry.</p><p>The manifest entry name is "Tapestry-Module-Classes". The value is
a comma-separated list of fully qualified class names of module classes (this allows a single
JAR to contain multiple, related modules). Whitespace is ignored.</p><p>Example:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
 <pre class="brush: text; gutter: false; theme: Default" style="font-size:12px;">Manifest-Version:
1.0
 Tapestry-Module-Classes: org.example.mylib.LibModule, org.example.mylib.internal.InternalModule</pre>
 </div></div><p>If you are using Maven 2, then getting these entries into
your JAR's manifest is as simple as some configuration in your pom.xml:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -97,7 +97,7 @@ Tapestry-Module-Classes: org.example.myl
 public final class InternalModule
 {
   . . .</pre>
-</div></div><p>In general, your should only need to identify a single module
in the JAR manifest, and make use of @SubModule to pull in any additional module classes.</p></div>
+</div></div><p>In general, your should only need to identify a single module
in the JAR manifest, and make use of @SubModule to pull in any additional module classes.</p><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/tapestry/content/case-insensitivity.html
==============================================================================
--- websites/production/tapestry/content/case-insensitivity.html (original)
+++ websites/production/tapestry/content/case-insensitivity.html Sat Aug  8 17:20:04 2015
@@ -27,16 +27,6 @@
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
 
-    <link href='/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' type='text/css'
/>
-  <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' type='text/css'
/>
-  <script src='/resources/highlighter/scripts/shCore.js' type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushJava.js' type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' type='text/javascript'></script>
-  <script type="text/javascript">
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all();
-  </script>
 
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -62,27 +52,12 @@
 <div class="clearer"></div>
 
   <div id="breadcrumbs">
-        <a href="index.html">Apache Tapestry</a>&nbsp;&gt;&nbsp;<a
href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a href="user-guide.html">User
Guide</a>&nbsp;&gt;&nbsp;<a href="ioc.html">IoC</a>&nbsp;&gt;&nbsp;<a
href="case-insensitivity.html">Case Insensitivity</a>
+        <a href="index.html">Apache Tapestry</a>&nbsp;&gt;&nbsp;<a
href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a href="user-guide.html">User
Guide</a>&nbsp;&gt;&nbsp;<a href="ioc.html">IOC</a>&nbsp;&gt;&nbsp;<a
href="case-insensitivity.html">Case Insensitivity</a>
     <a class="edit" title="Edit this page (requires approval -- just ask on the mailing
list)" href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=23338477">edit</a>
   </div>
 
 <div id="content">
-<div id="ConfluenceContent">
-
-<h1 id="CaseInsensitivity-CaseInsensitivity">Case Insensitivity</h1>
-
-<p>Ever get frustrated because you typed the right thing with the wrong case and your
system blew up? We do.</p>
-
-<p>Tapestry IoC attempts to be case insensitive for all the main constructs:</p>
-
-<ul><li>Service ids.</li><li>Object provider prefixes.</li><li>Message
keys.<br clear="none">
-Thus, <code>getService("Baz", Baz.class)</code> is preferred, but <code>getService("BAZ",
Baz.class)</code> (or any variation thereof) will work just exactly as well. This also
extends to other naming conventions, such as <code>contributeFoo</code> methods.
It also applies to values inside annotations.</li></ul>
-
-
-<p>Just case is ignored &#8211; other punctuation, as well as whitespace, must
exactly match.</p>
-
-<p>Under the covers, this is supported by the <a shape="rect" class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/CaseInsensitiveMap.html">CaseInsensitiveMap</a>
class.</p>
-</div>
+<div id="ConfluenceContent"><p>Ever get frustrated because you typed the right
thing with the wrong case and your system blew up? We do.</p><p>Tapestry IoC attempts
to be case insensitive for all the main constructs:</p><ul><li>Service ids.</li><li>Object
provider prefixes.</li><li>Message keys.<br clear="none"> Thus, <code>getService("Baz",
Baz.class)</code> is preferred, but <code>getService("BAZ", Baz.class)</code>
(or any variation thereof) will work just exactly as well. This also extends to other naming
conventions, such as <code>contributeFoo</code> methods. It also applies to values
inside annotations.</li></ul><p>Just case is ignored &#8211; other punctuation,
as well as whitespace, must exactly match.</p><p>Under the covers, this is supported
by the <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/CaseInsensitiveMap.html">CaseInsensitiveMap</a>
class.</p><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/chainbuilder-service.html
==============================================================================
--- websites/production/tapestry/content/chainbuilder-service.html (original)
+++ websites/production/tapestry/content/chainbuilder-service.html Sat Aug  8 17:20:04 2015
@@ -31,8 +31,6 @@
   <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' type='text/css'
/>
   <script src='/resources/highlighter/scripts/shCore.js' type='text/javascript'></script>
   <script src='/resources/highlighter/scripts/shBrushJava.js' type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' type='text/javascript'></script>
   <script type="text/javascript">
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -136,7 +134,7 @@
   {
      return chainBuilder.build(MyChainService.class, commands);
   }</pre>
-</div></div><p>Here, the behavior of the MyChainService is defined by its
configuration: an ordered list of MyChainService commands that are contributed by one or more
modules.</p><p>Internally, the ChainBuilder creates a new class that implements
the service interface. The list of commands is converted into an array, which is used inside
the service implementation (for maximum efficiency). Therefore, changing the list after creating
the chain instance will not affect the chain instance's behavior.</p><p>ChainBuilder
will reuse the fabricated class for any number of chains of the same command interface.</p></div>
+</div></div><p>Here, the behavior of the MyChainService is defined by its
configuration: an ordered list of MyChainService commands that are contributed by one or more
modules.</p><p>Internally, the ChainBuilder creates a new class that implements
the service interface. The list of commands is converted into an array, which is used inside
the service implementation (for maximum efficiency). Therefore, changing the list after creating
the chain instance will not affect the chain instance's behavior.</p><p>ChainBuilder
will reuse the fabricated class for any number of chains of the same command interface.</p><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/creating-the-skeleton-application.html
==============================================================================
--- websites/production/tapestry/content/creating-the-skeleton-application.html (original)
+++ websites/production/tapestry/content/creating-the-skeleton-application.html Sat Aug  8
17:20:04 2015
@@ -30,9 +30,7 @@
     <link href='/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' type='text/css'
/>
   <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' type='text/css'
/>
   <script src='/resources/highlighter/scripts/shCore.js' type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushJava.js' type='text/javascript'></script>
   <script src='/resources/highlighter/scripts/shBrushXml.js' type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' type='text/javascript'></script>
   <script type="text/javascript">
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -67,7 +65,7 @@
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><p>&#160;</p><p>&#160;Before
we can get down to the fun, we have to create an empty application. Tapestry uses a feature
of Maven to do this: <strong>archetypes</strong> (a too-clever way of saying "project
templates").</p><p>For the tutorial, we're using a fresh install of Eclipse and
an empty workspace at <code>/users/joeuser/workspace</code>. You may need to adjust
a few things for other operating systems or local paths.</p><h2 id="CreatingTheSkeletonApplication-UsingtheQuickstartArchetype">Using
the Quickstart Archetype</h2><p>From Eclipse, we'll use a Maven archetype to create
a skeleton Tapestry project.</p><div class="confluence-information-macro confluence-information-macro-information"><p
class="title">Maven Behind a Firewall</p><span class="aui-icon aui-icon-small
aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>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:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>settings.xml</b></div><div
class="codeContent panelContent pdl">
+<div id="ConfluenceContent"><p>First, let's create an empty application. Tapestry
provides a Maven <strong>archetype</strong> (a project template) to make this
easy.</p><p>For the tutorial, we're using a fresh install of Eclipse and an empty
workspace at <code>/users/joeuser/workspace</code>. You may need to adjust a few
things for other operating systems or local paths.</p><h2 id="CreatingTheSkeletonApplication-UsingtheQuickstartArchetype">Using
the Quickstart Archetype</h2><p>From Eclipse, we'll use a Maven archetype to create
a skeleton Tapestry project.</p><div class="confluence-information-macro confluence-information-macro-information"><p
class="title">Maven Behind a Firewall</p><span class="aui-icon aui-icon-small
aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>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 (ty
 pically in the .m2 subdirectory of your home directory, ~/.m2 or C:\users\joeuser\.m2). Here
is an example:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>settings.xml</b></div><div
class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;settings&gt;
   &lt;proxies&gt;
     &lt;proxy&gt;
@@ -83,7 +81,7 @@
   &lt;localRepository&gt;C:/Users/joeuser/.m2/repository&lt;/localRepository&gt;
 &lt;/settings&gt;
 </pre>
-</div></div><p>Of course, adjust the <code>localRepository</code>
element to match the correct path for your computer.</p></div></div><p>Okay,
let's get started creating our new project.</p><p>In Eclipse, go to <strong>File
&gt; New &gt;</strong> <strong>Project... &gt; Maven &gt; Maven
Project</strong></p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image" src="creating-the-skeleton-application.data/select-a-wizard.png"></span></p><p>Then
click <strong>Next</strong>, <strong>Next</strong> (again), and then
on the <strong>Select an Archetype</strong> page click the <strong>Configure</strong>
button on the Catalog line. The <strong>Archetype</strong> preferences dialog
should appear. Click the <strong>Add Remote Catalog...</strong> button, as shown
below:</p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image"
src="creating-the-skeleton-application.data/add-archetype-catalog.png"></span></p><p>As
shown above, en
 ter <span class="nolink"><span class="nolink">"http://tapestry.apache.org"</span></span>
in the Catalog File field, and "Apache Tapestry" in the Description field.</p><div
class="confluence-information-macro confluence-information-macro-information"><span
class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>If you want to try an unreleased (alpha
or beta) version of Tapestry, use <span class="nolink">the https://repository.apache.org/content/repositories/staging</span>
archetype catalog file instead.</p></div></div><p>Click <strong>OK</strong>,
then<strong> OK</strong> again.</p><p>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 <strong>Next</strong>.</p><p><span
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="creating-the-skeleton-application.data/se
 lect-archetype.png"></span></p><p><em><strong>Note:</strong>
Screenshots in this tutorial may show different (either newer or older) versions of Tapestry
than you may see.</em></p><p>Fill in the Group Id, Artifact Id, Version
and Package&#160; as follows:</p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image" src="creating-the-skeleton-application.data/specify-archetype-parameters.png"></span></p><p>then
click Finish.</p><div class="confluence-information-macro confluence-information-macro-information"><span
class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>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.</p></div></div><p>After
Mave
 n finishes, you'll see a new directory, <code>tutorial in your Package Explorer view
in Eclipse.</code></p><h2 id="CreatingTheSkeletonApplication-RunningtheApplicationusingJetty">Running
the Application using Jetty</h2><p>One of the first things you can do is use Maven
to run Jetty directly.</p><p>Right-click on the tutorial project in your Package
Explorer view and select <strong>Run As &gt; Maven Build... &gt;</strong>,
enter a Goal of <strong>"jetty:run"</strong>. This creates a "Run Configuration"
named "tutorial1" that we'll use throughout this tutorial to start the app:</p><p><span
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="creating-the-skeleton-application.data/run-configuration.png"></span></p><p>Tapestry
runs best with a couple of additional options; click the "JRE" tab and enter the following
VM Arguments:</p><pre></pre><p>-XX:MaxPermSize=256M</p><p>-Xmx600m</p><p>-Dtapestry.execution-mode=development</p><p><code><em>(If
you're usi
 ng JDK 1.8 then you should omit the MaxPermSize argument.)</em></code></p><p><code>Here's
how it looks:<br clear="none"></code></p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image" src="creating-the-skeleton-application.data/run-configuration-jre.png"></span></p><p>Finally,
click <strong>Run</strong>.</p><p>Again, the first time, there's a
dizzying number of downloads, but before you know it, the Jetty servlet container is up and
running.</p><p>Once Jetty is initialized (which only takes a few seconds after
the first time), you'll see the following in your console:</p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image" src="creating-the-skeleton-application.data/console-startup.png"></span></p><p><em>Note
the red square icon above. Later on you'll use that icon to stop Jetty before restarting the
app.</em></p><p>You can now open a web browser to <a shape="rect" class="external-link"
href="http://localhost:80
 80/tutorial1/" >http://localhost:8080/tutorial1/</a> to see the running application:</p><p>&#160;</p><p><span
class="confluence-embedded-file-wrapper image-left-wrapper"><img class="confluence-embedded-image
confluence-content-image-border image-left" src="creating-the-skeleton-application.data/startpage.png"></span></p><p>&#160;</p><div
style="clear: both"></div><p style="text-align: left;">The date and time in
the middle of the page shows that this is a live application.</p><p>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. (<span style="line-height:
1.4285715;"><em>Layout</em> 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.)
 </span></p><p><span style="line-height: 1.4285715;">Next: <a shape="rect"
href="exploring-the-project.html">Exploring the Project</a><br clear="none"></span></p><p>&#160;</p></div>
+</div></div><p>Of course, adjust the <code>localRepository</code>
element to match the correct path for your computer.</p></div></div><p>Okay,
let's get started creating our new project.</p><p>In Eclipse, go to <strong>File
&gt; New &gt;</strong> <strong>Project... &gt; Maven &gt; Maven
Project</strong></p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image" src="creating-the-skeleton-application.data/select-a-wizard.png"></span></p><p>Then
click <strong>Next</strong>, <strong>Next</strong> (again), and then
on the <strong>Select an Archetype</strong> page click the <strong>Configure</strong>
button on the Catalog line. The <strong>Archetype</strong> preferences dialog
should appear. Click the <strong>Add Remote Catalog...</strong> button, as shown
below:</p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image"
src="creating-the-skeleton-application.data/add-archetype-catalog.png"></span></p><p>As
shown above, en
 ter <span class="nolink"><span class="nolink">"http://tapestry.apache.org"</span></span>
in the Catalog File field, and "Apache Tapestry" in the Description field.</p><div
class="confluence-information-macro confluence-information-macro-information"><span
class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>If you want to try an unreleased (alpha
or beta) version of Tapestry, use <span class="nolink">the <strong>https://repository.apache.org/content/repositories/staging</strong></span>
archetype catalog file instead.</p></div></div><p>Click <strong>OK</strong>,
then<strong> OK</strong> again.</p><p>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 <strong>Next</strong>.</p><p><span
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="creating-the-skeleton-ap
 plication.data/select-archetype.png"></span></p><p><em><strong>Note:</strong>
Screenshots in this tutorial may show different (either newer or older) versions of Tapestry
than you may see.</em></p><p>Fill in the Group Id, Artifact Id, Version
and Package&#160; as follows:</p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image" src="creating-the-skeleton-application.data/specify-archetype-parameters.png"></span></p><p>then
click Finish.</p><div class="confluence-information-macro confluence-information-macro-information"><span
class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>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.</p></div></
 div><p>After Maven finishes, you'll see a new directory, <code>tutorial in
your Package Explorer view in Eclipse.</code></p><h2 id="CreatingTheSkeletonApplication-RunningtheApplicationusingJetty">Running
the Application using Jetty</h2><p>One of the first things you can do is use Maven
to run Jetty directly.</p><p>Right-click on the tutorial project in your Package
Explorer view and select <strong>Run As &gt; Maven Build... &gt;</strong>,
enter a Goal of <strong>"jetty:run"</strong>. This creates a "Run Configuration"
named "tutorial1" that we'll use throughout this tutorial to start the app:</p><p><span
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="creating-the-skeleton-application.data/run-configuration.png"></span></p><p>Tapestry
runs best with a couple of additional options; click the "JRE" tab and enter the following
VM Arguments:</p><pre></pre><p>-XX:MaxPermSize=256M</p><p>-Xmx600m</p><p>-Dtapestry.execution-mode=development</p><p><code><
 em>(If you're using JDK 1.8 then you should omit the MaxPermSize argument.)</em></code></p><p><code>Here's
how it looks:<br clear="none"></code></p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image" src="creating-the-skeleton-application.data/run-configuration-jre.png"></span></p><p>Finally,
click <strong>Run</strong>.</p><p>Again, the first time, there's a
dizzying number of downloads, but before you know it, the Jetty servlet container is up and
running.</p><p>Once Jetty is initialized (which only takes a few seconds after
the first time), you'll see the following in your console:</p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image" src="creating-the-skeleton-application.data/console-startup.png"></span></p><p><em>Note
the red square icon above. Later on you'll use that icon to stop Jetty before restarting the
app.</em></p><p>You can now open a web browser to <a shape="rect" class="external-link"
href="ht
 tp://localhost:8080/tutorial1/" >http://localhost:8080/tutorial1/</a> to see the
running application:</p><p>&#160;</p><p><span class="confluence-embedded-file-wrapper
image-left-wrapper"><img class="confluence-embedded-image confluence-content-image-border
image-left" src="creating-the-skeleton-application.data/startpage.png"></span></p><p>&#160;</p><div
style="clear: both"></div><p style="text-align: left;">The date and time in
the middle of the page shows that this is a live application.</p><p>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. (<span style="line-height:
1.4285715;"><em>Layout</em> 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.)</span></p><p><span style="line-height: 1.4285715;">Next:
<a shape="rect" href="exploring-the-project.html">Exploring the Project</a></span></p><p><span
style="line-height: 1.4285715;"><br clear="none"></span></p></div>
 </div>
 
 <div class="clearer"></div>



Mime
View raw message