Author: jkuhnert
Date: Sun Jun 17 13:43:48 2007
New Revision: 548108
URL: http://svn.apache.org/viewvc?view=rev&rev=548108
Log:
Cleaned up index page some. Added some more upgrade guide information.
Modified:
tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt
tapestry/tapestry4/trunk/src/site/xdoc/index.xml
tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml
tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml
Modified: tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt?view=diff&rev=548108&r1=548107&r2=548108
==============================================================================
--- tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt (original)
+++ tapestry/tapestry4/trunk/src/site/apt/tutorials/index.apt Sun Jun 17
13:43:48 2007
@@ -11,18 +11,71 @@
{{{http://sundraw.ws/}Alexander Kolesnikov}} has written a great series of
Tapestry 4 tutorials that should be a great help for anyone
getting started with Tapestry or just wanting a quick reference for some of
the common areas of development.
- *
{{{http://www.devshed.com/c/a/Apache/Making-a-CelebrityCollector-with-Apache-Tapestry-the-For-Component/}Making
a CelebrityCollector with Apache Tapestry: the For Component}}
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-4-Tutorial/}Apache
Tapestry 4 Tutorial}}
- *
{{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-and-Listener-Methods-Conditional-Components-and-PageLink/}Apache
Tapestry and Listener Methods, Conditional Components and PageLink}}
+ In this article we'll begin by taking a look at servlets and JavaServer
Pages, then proceed to learn about the MVC design pattern. After
+ examining the problems these technologies solved, we'll focus on the
Tapestry framework, study its advantages, and dispel some prejudices
+ about it. This is the first article in a multi-part series covering Tapestry.
- * {{{http://www.devshed.com/c/a/Apache/The-Properties-of-Tapestry-Pages/}The
Properties of Tapestry Pages}}
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/Preparing-the-Workspace-for-Apache-Tapestry/}Preparing
the Workspace for Apache Tapestry}}
- *
{{{http://www.devshed.com/c/a/Apache/A-Closer-Look-at-Simple-Components-in-Apache-Tapestry/}A
Closer Look at Simple Components in Apache Tapestry}}
+ In the previous article of this series I explained, in the historical
perspective, why Tapestry is a very attractive and advanced framework
+ for building Java Web applications. Now we are moving from theory to
practice. But before doing anything, we need to prepare the workplace.
- *
{{{http://www.devshed.com/c/a/Apache/Introducing-Simple-Components-in-Apache-Tapestry/}Introducing
Simple Components in Apache Tapestry}}
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/Creating-Your-First-Tapestry-Project/}Creating
Your First Tapestry Project}}
- *
{{{http://www.devshed.com/c/a/Apache/Creating-Your-First-Tapestry-Project/}Creating
Your First Tapestry Project}}
+ In the previous article, we began moving from theory to practice by
preparing our work place and setting up our system. In this article, we
+ actually get our hands dirty (at least figuratively) by building our first
Tapestry project.
- *
{{{http://www.devshed.com/c/a/Apache/Preparing-the-Workspace-for-Apache-Tapestry/}Preparing
the Workspace for Apache Tapestry}}
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/Introducing-Simple-Components-in-Apache-Tapestry/}Introducing
Simple Components in Apache Tapestry}}
- * {{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-4-Tutorial/}Apache
Tapestry 4 Tutorial}}
+ In the previous article, you witnessed the interplay between a Tapestry page
and its components (granted, we had only one simple component
+ there, but you get my point). Page class, when rendering its page, finds any
components mentioned in the template and asks those components
+ to display themselves, as they know better how to do that. Components, in
their turn, might need some information to display themselves, and
+ they ask the page class to provide the necessary information by calling some
of its methods
+
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/A-Closer-Look-at-Simple-Components-in-Apache-Tapestry/}A
Closer Look at Simple Components in Apache Tapestry}}
+
+ In the previous article, we took a look at some of the components that are
used most often in Tapestry applications, and learned some important
+ concepts related to them. At the end, we found that we needed three
components for our example application. In this article, we will configure
+ those components. We will also learn how to disable caching.
+
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/The-Properties-of-Tapestry-Pages/}The
Properties of Tapestry Pages}}
+
+ In the previous part of this tutorial we started to build a new project,
GuessTheWord. The project is very simple, but we are going to spend a lot of
+ time working on it and experimenting with it. This is because the main aim
is to learn a lot about the most basic concepts of Tapestry. For every important
+ concept, I want to show you a number of options as to how it can be
implemented and explain which option is good for what.
+
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-and-Listener-Methods-Conditional-Components-and-PageLink/}Apache
Tapestry and Listener Methods Conditional Components and PageLink}}
+
+ Today we continue to explore some of the most fundamental concepts of
Tapestry while building one of the simplest Java Web applications. In the
previous
+ part of this tutorial we became familiar with properties of Tapestry pages
and different ways to configure them. Now we will look into the details of
+ writing listener methods.
+
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/Making-a-CelebrityCollector-with-Apache-Tapestry-the-For-Component/}Making
a CelebrityCollector with Apache Tapestry: the For Component}}
+
+ We are going to start a new project today, named CelebrityCollector. At
first it will be very simple, but in the following articles we will be adding
more
+ and more functionality to it. Of course, the purpose at this stage of study
is not to build a real-world application but to meet different Tapestry
+ components and to learn various important concepts
+
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-and-DirectLink-IoC-and-DI/}Apache
Tapestry and DirectLink, IoC and DI }}
+
+ Previously we began building our CelebrityCollector application. But right
now it is a hollow shell. In this article we will use several new Apache
Tapestry
+ components to help us start filling in the details.
+
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/Apache-Tapestry-ASO-and-More-Components/}Apache
Tapestry: ASO and More Components}}
+
+ We shall continue working on the CelebrityCollector application. The next
step is to create a page for adding a new celebrity. While we create that
page, I will
+ introduce you to three more components that will add new capabilities to our
application and help us get around certain problems.
+
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/The-DatePicker-and-Shell-Components-of-Apache-Tapestry/}The
DatePicker and Shell Components of Apache Tapestry}}
+
+ In the previous article in this series we came to adding a component for
accepting a date input, to specify the date of birth for the newly added
celebrity.
+ DatePicker, a standard Tapestry component, is an excellent choice for this,
and we are going to learn today how to add a DatePicker to a page.
+
+ [[1]]
{{{http://www.devshed.com/c/a/Apache/PropertySelection-and-IPropertySelectionModel-in-Apache-Tapestry/}PropertySelection
and IPropertySelectionModel in Apache Tapestry}}
+
+ We already encountered PropertySelection in one of the previous articles so
we know that it is a Tapestry component used to display a drop-down list,
allowing the
+ user to choose one of multiple options. You might think that the way in
which options are provided to this component (through its model binding) is
somewhat
+ cumbersome when all you need to do is select one of a few strings. However,
PropertySelection was designed with a great deal of power and flexibility in
mind, and I
+ hope that today you will appreciate this.
Modified: tapestry/tapestry4/trunk/src/site/xdoc/index.xml
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/index.xml?view=diff&rev=548108&r1=548107&r2=548108
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/index.xml (original)
+++ tapestry/tapestry4/trunk/src/site/xdoc/index.xml Sun Jun 17 13:43:48 2007
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN"
- "http://maven.apache.org/dtd/xdoc_1_0.dtd">
+ "http://maven.apache.org/dtd/xdoc_1_0.dtd">
<document>
<properties>
<title>Tapestry 4.1 - Dojo Integrated</title>
@@ -9,61 +9,67 @@
<body>
<section name="Tapestry 4.1 - Dojo Integrated">
<p>
+ Tapestry is an open-source framework for creating dynamic,
robust, highly scalable
+ web applications in Java. Tapestry complements and builds
upon the standard Java
+ Servlet API, and so it works in any servlet container or
application server.
+ </p>
+
+ <p>
This development series is focused around providing a full
layer of support for building
highly dynamic web applications (XHR/ajax/dhtml). Whether you
would like to sprinkle in a
- few tiny ajax effects in an existing application, or build a
full featured <em>heavy client</em>
- application Tapestry(and <a
href="http://dojotoolkit.org">dojo</a>) should be able to
+ few tiny ajax effects in an existing application, or build a
full featured <em>heavy client</em>
+ application Tapestry(and <a
href="http://dojotoolkit.org">dojo</a>) should be able to
support your needs.
-
+
<a href="http://opencomponentry.com:8080/timetracker"><img
style="float:right;margin-top:8px;margin-left:8px"
src="./images/autocompleter.png" alt="Autocompleting select component" /></a>
</p>
-
+
<p><strong>New Features:</strong></p>
<ul>
- <li><b>JSON -</b> Brand new <a
href="apidocs/org/apache/tapestry/IJSONRender.html">API</a>
- enabling data communication via the
- <a
href="http://json.org/">JSON</a>(JavaScript Object Notation)
- standard. New <a
href="apidocs/org/apache/tapestry/dojo/IWidget.html">component classes</a>
- and <a
href="apidocs/org/apache/tapestry/services/ResponseBuilder.html">rendering
schemes</a> also accompany the API addition, allowing anyone to easily
- add JSON communication to an existing
component or new components. </li>
- <li><b>XHR -</b> The ever popular XML communication format
has also been added into the
- <a
href="apidocs/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.html">Tapestry
core</a>,
- allowing most of the common <em>ajax</em>
concepts to be easily developed in yours
- and existing Tapestry components.</li>
- <li><b><a href="http://dojotoolkit.org">Dojo</a> bundled -</b>
As all of the functionality
- in this release is based around the <a
href="http://dojotoolkit.org">dojo</a>
- javascript toolkit, we have provided it
bundled with the core Tapestry jar
- files. No profile building/installation
necessary. Just drop the jars in and
- get at all of the client side goodies you
like.</li>
- <li><b>Widgets -</b> New <a
href="http://dojotoolkit.org">dojo</a> toolkit based
- <a
href="apidocs/org/apache/tapestry/dojo/form/Autocompleter.html">widget</a>
- <a
href="apidocs/org/apache/tapestry/dojo/form/DropdownDatePicker.html">components</a>
- and complimenting <a
href="apidocs/org/apache/tapestry/dojo/form/IFormWidget.html">foundation</a>
Component classes make it easy for anyone to create
- dojo widgets and use them as Tapestry
components. The initial 4.1 release won't be
- as focused on providing new components as
it will solid infrastructure support, but
- more and more will be included as the
release matures. Currently included are
- <em><a
href="components/dojo/autocompleter.html">Autocompleter</a>
- ,
- <a
href="components/dojo/dropdowndatepicker.html">DropdownDatePicker</a>
- ,
- <a
href="components/dojo/dropdowntimepicker.html">DropdownTimePicker</a></em>.</li>
- <li><b>Client Side Validation -</b> The <a
href="usersguide/clientside-validation.html">client side validation</a> support
- in Tapestry has been completely replaced
with a new <a href="http://dojotoolkit.org">dojo</a> based API,
- providing richer and <a
href="javascript/form-validation.html">more complete</a> validation than has
been
- seen in previous releases. All of the
validation constraints that can be specified on the server now have
- client side functional equivalents.
Default logic for displaying validation errors/interactions on the client side
- UI has also been updated a great deal. The
old alert box mechanism has been replaced by field
- decorators that apply css rules to your
form fields, as well as dhtml dialog boxes displaying
- summaries of errors. Much much more is
planned in this area, but the current set of functionality
- should be more than enough to make many
happy.</li>
+ <li><b>JSON -</b> Brand new <a
href="apidocs/org/apache/tapestry/IJSONRender.html">API</a>
+ enabling data communication via the
+ <a href="http://json.org/">JSON</a>(JavaScript Object
Notation)
+ standard. New <a
href="apidocs/org/apache/tapestry/dojo/IWidget.html">component classes</a>
+ and <a
href="apidocs/org/apache/tapestry/services/ResponseBuilder.html">rendering
schemes</a> also accompany the API addition, allowing anyone to easily
+ add JSON communication to an existing component or new
components. </li>
+ <li><b>XHR -</b> The ever popular XML communication format
has also been added into the
+ <a
href="apidocs/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.html">Tapestry
core</a>,
+ allowing most of the common <em>ajax</em> concepts to be
easily developed in yours
+ and existing Tapestry components.</li>
+ <li><b><a href="http://dojotoolkit.org">Dojo</a> bundled -</b>
As all of the functionality
+ in this release is based around the <a
href="http://dojotoolkit.org">dojo</a>
+ javascript toolkit, we have provided it bundled with the
core Tapestry jar
+ files. No profile building/installation necessary. Just
drop the jars in and
+ get at all of the client side goodies you like.</li>
+ <li><b>Widgets -</b> New <a
href="http://dojotoolkit.org">dojo</a> toolkit based
+ <a
href="apidocs/org/apache/tapestry/dojo/form/Autocompleter.html">widget</a>
+ <a
href="apidocs/org/apache/tapestry/dojo/form/DropdownDatePicker.html">components</a>
+ and complimenting <a
href="apidocs/org/apache/tapestry/dojo/form/IFormWidget.html">foundation</a>
Component classes make it easy for anyone to create
+ dojo widgets and use them as Tapestry components. The
initial 4.1 release won't be
+ as focused on providing new components as it will solid
infrastructure support, but
+ more and more will be included as the release matures.
Currently included are
+ <em><a
href="components/dojo/autocompleter.html">Autocompleter</a>
+ ,
+ <a
href="components/dojo/dropdowndatepicker.html">DropdownDatePicker</a>
+ ,
+ <a
href="components/dojo/dropdowntimepicker.html">DropdownTimePicker</a></em>.</li>
+ <li><b>Client Side Validation -</b> The <a
href="usersguide/clientside-validation.html">client side validation</a> support
+ in Tapestry has been completely replaced with a new <a
href="http://dojotoolkit.org">dojo</a> based API,
+ providing richer and <a
href="javascript/form-validation.html">more complete</a> validation than has
been
+ seen in previous releases. All of the validation
constraints that can be specified on the server now have
+ client side functional equivalents. Default logic for
displaying validation errors/interactions on the client side
+ UI has also been updated a great deal. The old alert box
mechanism has been replaced by field
+ decorators that apply css rules to your form fields, as
well as dhtml dialog boxes displaying
+ summaries of errors. Much much more is planned in this
area, but the current set of functionality
+ should be more than enough to make many happy.</li>
<li><b>New Annotations -</b> Perhaps the most exciting new
addition, a new <a
href="tapestry-annotations/index.html#EventListener">@EventListener</a>
- annotation has been added. This will allow
people to bind one of their page/component
- class listeners to virtually any client
side widget/html event concievable. The API also supports
- varying types of listening, such as being
able to submit a form when a particular event happens,
- or simplying using the new <a
href="apidocs/org/apache/tapestry/event/BrowserEvent.html">BrowserEvent</a>
- object to determine the client side state
when the event happened.
- <em>(Such as x/y coordinates of mouse
clicks, event targets, etc..This is pretty
- much a literal one-to-one mapping to real
browser generated Events.)</em></li>
+ annotation has been added. This will allow people to bind
one of their page/component
+ class listeners to virtually any client side widget/html
event concievable. The API also supports
+ varying types of listening, such as being able to submit a
form when a particular event happens,
+ or simplying using the new <a
href="apidocs/org/apache/tapestry/event/BrowserEvent.html">BrowserEvent</a>
+ object to determine the client side state when the event
happened.
+ <em>(Such as x/y coordinates of mouse clicks, event
targets, etc..This is pretty
+ much a literal one-to-one mapping to real browser
generated Events.)</em></li>
<li><b>Rounded Corner/Drop Shadow services -</b> <a
href="developmentguide/hivemind/roundedcorners.html">Check out</a> some of the
cool new
<a
href="developmentguide/hivemind/roundedcorners.html">image generation
services</a> available.
<br />
@@ -72,33 +78,35 @@
</li>
</ul>
- <p><strong>New Tutorials!:</strong></p><br/>
- <p><a href="tutorials/index.html">Devshed Tutorial Series</a>
written by <a href="http://sundraw.ws/">Alexander Kolesnikov</a>.</p>
-
- <br />
+ <subsection name="New Tutorials!">
+ <p>
+ A great new <a href="tutorials/index.html">Devshed
Tutorial Series</a> written by <a href="http://sundraw.ws/">Alexander
Kolesnikov</a> has been slowly
+ building up as he continues to pump new articles out.
+ </p>
+ <br /><br />
+ <p>
+ The amount of material covered is closer to being an
actual book than a random set of tutorials. This is
+ well worth reading for anyone wanting to get a better
overall handle on using Tapestry 4.
+ </p>
+ </subsection>
- <br />
- <p><strong>Getting started?:</strong></p><br/>
- <p>Try the maven2 <a
href="tapestry-archetype/index.html">Archetype</a> to bootstrap your project
with some typical configurations.</p>
+ <subsection name="Getting started?: Try the Tapestry 4 Archetype">
+ <p>
+ Try the maven2 <a
href="tapestry-archetype/index.html">Archetype</a> to bootstrap your project
with some typical configurations.
+ </p>
+ </subsection>
- <br /><br />
-
- <p>
- Tapestry is an open-source framework for creating dynamic,
robust, highly scalable
- web applications in Java. Tapestry complements and builds upon
the standard Java
- Servlet API, and so it works in any servlet container or
application server.
- </p>
</section>
-
+
<section name="Dojo">
<p>
<a href="http://dojotoolkit.org"><img
src="./images/small-dojo-logo.png" alt="Dojo Toolkit" style="float:right" /></a>
- Most of the functionality in this series is based entirely on
the wonderful
- <a href="http://dojotoolkit.org">Dojo</a> javascript toolkit
library. Not to
- say that you won't easily be able to plug in another toolkit
if you like, just
+ Most of the functionality in this series is based entirely on
the wonderful
+ <a href="http://dojotoolkit.org">Dojo</a> javascript toolkit
library. Not to
+ say that you won't easily be able to plug in another toolkit
if you like, just
that the defaults will all be based around dojo.
</p>
</section>
-
+
</body>
</document>
Modified: tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml?view=diff&rev=548108&r1=548107&r2=548108
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml
(original)
+++ tapestry/tapestry4/trunk/src/site/xdoc/usersguide/configuration.xml Sun Jun
17 13:43:48 2007
@@ -45,22 +45,15 @@
Operates correctly. Requires the Xerces parser to be in the
classpath (usually
provided by the servlet container).
</dd>
-
<dt>Java 1.3.x</dt>
-
<dd>
Operates correctly. Requires the Xerces parser to be in the
classpath (usually
provided by the servlet container).
</dd>
-
<dt>Java 1.4.x (recommended)</dt>
-
-
<dd>Operates correctly.</dd>
</dl>
-
-
<p>Supported Java Servlet API Versions:</p>
<dl>
@@ -77,10 +70,7 @@
</dl>
-
<subsection name="Web deployment descriptor">
-
-
<p>
All Tapestry applications make use of the
<a
@@ -187,6 +177,7 @@
operate without an application specification.
</p>
+ <p>
<span class="warn">
<strong>Fixme:</strong>
<p>
@@ -195,6 +186,7 @@
. In 4.0, the servlet will create and initialize a HiveMind
Registry.
</p>
</span>
+ </p>
<p>
The specification is normally stored under WEB-INF. In fact,
Tapestry performs a
@@ -239,8 +231,6 @@
</subsection><!-- configuration.deployment-descriptor -->
<subsection name="Application Property Source">
-
-
<p>
Tapestry occasionally must obtain a value for a configuration
property. These
configuration properties are items that are frequently
optional, and don't fit into
@@ -253,6 +243,7 @@
general, the search path for configuration properties is:
</p>
+ <p>
<ul>
<li>
As a
@@ -276,23 +267,24 @@
symbols.
</li>
</ul>
+ </p>
<p>
It is expected that some configuration properties are not
defined at any level;
those will return null.
</p>
-
-
+
<p>Applications are free to leverage this lookup mechanism as
well.</p>
-
+
+ <p>
<span class="info">
- <strong>Fixme:</strong>
+ <strong>fixme:</strong>
<p>
- Need to reference the ApplicationPropertySource,
GlobalPropertySource and
- ComponentPropertySource services here.
+ Need to reference the ApplicationPropertySource,
GlobalPropertySource and ComponentPropertySource services here.
</p>
</span>
-
+ </p>
+
<p>
Applications may also want to change or augment the default
search path; this is
accomplished by overriding
@@ -305,6 +297,7 @@
. For example, some configuration data could be drawn from a
database.
</p>
+ <p>
<span class="info">
<strong>Fixme:</strong>
<p>
@@ -312,7 +305,7 @@
HiveMind contribution, details to be provided.
</p>
</span>
-
+ </p>
</subsection><!-- configuration.app-property-source -->
@@ -384,7 +377,7 @@
<tr>
<td>org.apache.tapestry.component-class-packages</td>
- <td></td>
+ <td> </td>
<td>
A comma-seperated list of package names, used when
<a href="page-class.html#page-class.component">
Modified: tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml?view=diff&rev=548108&r1=548107&r2=548108
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml (original)
+++ tapestry/tapestry4/trunk/src/site/xdoc/usersguide/upgrade4.0.xml Sun Jun 17
13:43:48 2007
@@ -32,13 +32,64 @@
</p>
</section>
+ <section name="Core API Changes">
+ <p>
+ Many of the previously marked as deprecated for removal in
Tapestry 4.1 API sections have now been removed. There is also some new
functionality
+ that many may not be aware of.
+ </p>
+ <p>
+ <ul>
+ <li>
+ <p>
+ <b>IRequestCycle.getRequestContext() -</b> The old
<code>getRequestContext()</code> method has now been removed from
+ <a
href="../apidocs/org/apache/tapestry/IRequestCycle.html">IRequestCycle</a>.
The proper way to get the equivalent
+ functionality is to have the HttpServletRequest object
<a href="injection.html">injected</a> in to your page/component:
+ </p>
+ <source xml:space="preserve"><
+public abstract HttpServletRequest getRequest();
+]]></source>
+ </li>
+ <li>
+ <p>
+ <b>Autowiring services -</b> Thanks to James Carman
of <a href="http://hivemind.apache.org">HiveMind</a> all components/pages now
support
+ autowiring of services. The rule is that you can have
any service / configuration that is normally injectable via exlplicit
+ <a href="injection.html">injection</a> configurations
simply by defining a property of the same type as any of the available HiveMind
services.
+ The only caveat is that services of the same interface
with more than one contributed definition can't be autowired as it would be
impossible
+ for the framework to correctly choose the right one.
+ </p>
+ <p>
+ This should greatly cut down on a lot of pain of
having to look up service ids in the
+ <a href="../tapestry-framework/hivedoc/">hivedoc</a>
documentation. The injection of the HttpServletRequest outlined in the first
point
+ could be re-written as:
+ </p>
+ <source xml:space="preserve"><![CDATA[
+public abstract HttpServletRequest getRequest();
+]]></source>
+ </li>
+ <li>
+ <p>
+ <b>IRequestCycle.getServiceParameters() -</b> This
method has been replaced with
<code>IRequestCycle.getListenerParameters()</code>.
+ </p>
+ </li>
+ <li>
+ <p>
+ <b>org.apache.tapestry.event.PageRenderListener gone
-</b> PageRenderListener was split into PageBeginRenderListener and
PageEndRenderListener. More
+ on the available listener types/events can be found <a
href="events.html">here</a>.
+ </p>
+ </li>
+ </ul>
+ </p>
+ </section>
+
<section name="Javascript">
<p>
One of the largest changes to come about has been the general
strategy in dealing with javascript inclusions as well
as bundling of the <a href="http://dojotoolkit.org">Dojo</a>
javascript toolkit directly in Tapestry. More about these
packaging changes can be found in the <a
href="../javascript/index.html">javascript guide</a>.
</p>
-
+
+ <p>
<ul>
<li>
<strong>Javascript includes -</strong> The inclusion of dojo now
happens automatically if you are using the <a
href="../components/general/shell.html">Shell</a> component,
@@ -188,7 +239,8 @@
unique <code>id="foo"</code> attributes to support the new
method as well.
</li>
</ul>
-
+ </p>
+
<span class="info">
<strong>Note:</strong>
<p>