You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2007/06/17 22:43:48 UTC
svn commit: r548108 - in /tapestry/tapestry4/trunk/src/site:
apt/tutorials/index.apt xdoc/index.xml xdoc/usersguide/configuration.xml
xdoc/usersguide/upgrade4.0.xml
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"><![CDATA[
+@InjectObject("service:tapestry.globals.HttpServletRequest")
+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>