You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by bu...@apache.org on 2013/09/23 00:21:27 UTC

svn commit: r879492 [21/30] - in /websites/production/tapestry/content: ./ 2009/ 2009/09/ 2009/09/13/ 2009/10/ 2009/10/27/ 2009/11/ 2009/11/25/ 2010/ 2010/07/ 2010/07/18/ 2010/07/24/ 2010/10/ 2010/10/11/ 2010/10/31/ 2010/11/ 2010/11/18/ 2010/11/19/ 201...

Modified: websites/production/tapestry/content/object-providers.html
==============================================================================
--- websites/production/tapestry/content/object-providers.html (original)
+++ websites/production/tapestry/content/object-providers.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,18 @@
     Object Providers -- Apache Tapestry
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
+
+    <link href='http://cxf.apache.org/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' type='text/css' />
+  <link href='http://cxf.apache.org/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' type='text/css' />
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shCore.js' type='text/javascript'></script>
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shBrushJava.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"/>
+
 </head>
 <body>
   <div class="wrapper bs">
@@ -34,9 +45,9 @@
 </div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em">
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em"><p>
 <span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
-<form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
+</p><form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
@@ -64,7 +75,7 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="injection-in-detail.html"><img align="middle" border="0" src="/images/confluence/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="injection-in-detail.html">Injection in Detail</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="ioc.html"><img align="middle" border="0" src="/images/confluence/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="ioc.html">IoC</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="service-serialization.html">Service Serialization</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="service-serialization.html"><img align="middle" border="0" src="/images/confluence/forwd_16.gif" width="1
 6" height="16"></a></td></tr></table></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="injection-in-detail.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="injection-in-detail.html">Injection in Detail</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="ioc.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="ioc.html">IoC</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="service-serialization.html">Service Serialization</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="service-serialization.html"><img align="middl
 e" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
 
 <h1><a shape="rect" name="ObjectProviders-ObjectProviders"></a>Object Providers</h1>
 
@@ -85,11 +96,11 @@ Usually, the @Inject annotation is suppl
 <p>The Value annotation allows a literal value to be injected. When combined with <a shape="rect" href="symbols.html" title="Symbols">symbols</a>, they represent a way for parts of the overall service network to be spot-configured. For example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-  <span class="code-keyword">public</span> MyService build(@Value(<span class="code-quote">"${max-seconds}"</span>) <span class="code-object">long</span> maxSeconds)
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+  public MyService build(@Value("${max-seconds}") long maxSeconds)
   {
-    <span class="code-keyword">return</span> <span class="code-keyword">new</span> MyServiceImpl(maxSeconds);
-  }</pre>
+    return new MyServiceImpl(maxSeconds);
+  }]]></script>
 </div></div>
 
 <p>Here, the MyService service requires a configuration of a number of seconds. The value is supplied as a symbol, with a factory default that may be overwritten with an application default.</p>
@@ -101,11 +112,11 @@ Usually, the @Inject annotation is suppl
 <p>This is closely related to the @Value annotation approach, except that the annotation directly specifies a symbol name.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-  <span class="code-keyword">public</span> MyService build(@Symbol(<span class="code-quote">"max-seconds"</span>) <span class="code-object">long</span> maxSeconds)
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+  public MyService build(@Symbol("max-seconds") long maxSeconds)
   {
-    <span class="code-keyword">return</span> <span class="code-keyword">new</span> MyServiceImpl(maxSeconds);
-  }</pre>
+    return new MyServiceImpl(maxSeconds);
+  }]]></script>
 </div></div>
 
 <h1><a shape="rect" name="ObjectProviders-ServiceProvider"></a>Service Provider</h1>
@@ -127,11 +138,11 @@ Usually, the @Inject annotation is suppl
 <p>Example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-  <span class="code-keyword">public</span> void contributeMasterObjectProvider(OrderedConfiguration&lt;ObjectProvider&gt; configuration)
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+  public void contributeMasterObjectProvider(OrderedConfiguration&lt;ObjectProvider&gt; configuration)
   {
-    configuration.add(<span class="code-quote">"MyObject"</span>, <span class="code-keyword">new</span> MyObjectProvider());
-  }</pre>
+    configuration.add("MyObject", new MyObjectProvider());
+  }]]></script>
 </div></div>
 
 <p>This establishes a name for the object provider (useful if the exact order of execution of the provider, relative to other providers, is relevant).</p>
@@ -146,12 +157,12 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="injection-in-detail.html"><img align="middle" border="0" src="/images/confluence/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="injection-in-detail.html">Injection in Detail</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="ioc.html"><img align="middle" border="0" src="/images/confluence/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="ioc.html">IoC</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="service-serialization.html">Service Serialization</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="service-serialization.html"><img align="middle" border="0" src="/images/confluence/forwd_16.gif" width="1
 6" height="16"></a></td></tr></table></div></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="injection-in-detail.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="injection-in-detail.html">Injection in Detail</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="ioc.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="ioc.html">IoC</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="service-serialization.html">Service Serialization</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="service-serialization.html"><img align="middl
 e" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div></div>
 </div>
 
 <div class="clearer"></div>
 <div id="footer">
-<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.</p>
+<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.<br clear="none">
 <script type="text/javascript">
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'UA-400821-1']);
@@ -162,7 +173,7 @@ table.ScrollbarTable td.ScrollbarNextIco
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
   })();
-</script></div>
+</script></p></div>
 </div>
 		<div id="comments_thread"></div>
 		<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=tapestry&amp;page=http://tapestry.apache.org/object-providers.html" async="true">

Modified: websites/production/tapestry/content/ordering-by-constraints.html
==============================================================================
--- websites/production/tapestry/content/ordering-by-constraints.html (original)
+++ websites/production/tapestry/content/ordering-by-constraints.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,10 @@
     Ordering by Constraints -- Apache Tapestry
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
+
+
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
+
 </head>
 <body>
   <div class="wrapper bs">
@@ -34,9 +37,9 @@
 </div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em">
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em"><p>
 <span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
-<form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
+</p><form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
@@ -64,7 +67,7 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="service-implementation-reloading.html"><img align="middle" border="0" src="/images/confluence/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="service-implementation-reloading.html">Service Implementation Reloading</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="ioc.html"><img align="middle" border="0" src="/images/confluence/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="ioc.html">IoC</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="symbols.html">Symbols</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="symbols.html"><img align="middle" border="0" src="/images/confluence/forwd_16.gif" width="16" 
 height="16"></a></td></tr></table></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="service-implementation-reloading.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="service-implementation-reloading.html">Service Implementation Reloading</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="ioc.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="ioc.html">IoC</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="symbols.html">Symbols</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="symbols.html"><img align="middle" 
 border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
 
 <h1><a shape="rect" name="OrderingbyConstraints-OrderingbyConstraints"></a>Ordering by Constraints</h1>
 
@@ -105,12 +108,12 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="service-implementation-reloading.html"><img align="middle" border="0" src="/images/confluence/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="service-implementation-reloading.html">Service Implementation Reloading</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="ioc.html"><img align="middle" border="0" src="/images/confluence/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="ioc.html">IoC</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="symbols.html">Symbols</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="symbols.html"><img align="middle" border="0" src="/images/confluence/forwd_16.gif" width="16" 
 height="16"></a></td></tr></table></div></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="service-implementation-reloading.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="service-implementation-reloading.html">Service Implementation Reloading</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="ioc.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="ioc.html">IoC</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="symbols.html">Symbols</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="symbols.html"><img align="middle" 
 border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div></div>
 </div>
 
 <div class="clearer"></div>
 <div id="footer">
-<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.</p>
+<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.<br clear="none">
 <script type="text/javascript">
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'UA-400821-1']);
@@ -121,7 +124,7 @@ table.ScrollbarTable td.ScrollbarNextIco
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
   })();
-</script></div>
+</script></p></div>
 </div>
 		<div id="comments_thread"></div>
 		<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=tapestry&amp;page=http://tapestry.apache.org/ordering-by-constraints.html" async="true">

Modified: websites/production/tapestry/content/overriding-exception-reporting.html
==============================================================================
--- websites/production/tapestry/content/overriding-exception-reporting.html (original)
+++ websites/production/tapestry/content/overriding-exception-reporting.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,19 @@
     Overriding Exception Reporting -- Apache Tapestry
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
+
+    <link href='http://cxf.apache.org/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' type='text/css' />
+  <link href='http://cxf.apache.org/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' type='text/css' />
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shCore.js' type='text/javascript'></script>
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shBrushJava.js' type='text/javascript'></script>
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shBrushXml.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"/>
+
 </head>
 <body>
   <div class="wrapper bs">
@@ -34,9 +46,9 @@
 </div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em">
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em"><p>
 <span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
-<form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
+</p><form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
@@ -64,22 +76,22 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="default-parameter.html"><img align="middle" border="0" src="/images/confluence/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="default-parameter.html">Default Parameter</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="cookbook.html"><img align="middle" border="0" src="/images/confluence/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="cookbook.html">Cookbook</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="supporting-informal-parameters.html">Supporting Informal Parameters</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="supporting-informal-parameters.html"><img align="middle" border="0" src="/imag
 es/confluence/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="default-parameter.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="default-parameter.html">Default Parameter</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="cookbook.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="cookbook.html">Cookbook</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="supporting-informal-parameters.html">Supporting Informal Parameters</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="supporting-informa
 l-parameters.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
 
 
 <h1><a shape="rect" name="OverridingExceptionReporting-OverridingExceptionReporting"></a>Overriding Exception Reporting</h1>
 
 <div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px"><table class="tableview" width="100%"><tr><th colspan="1" rowspan="1" style="padding: 3px 3px 3px 0px">Related Articles</th></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="specific-errors-faq.html">Specific Errors FAQ</a>
+                         <a shape="rect" href="overriding-exception-reporting.html">Overriding Exception Reporting</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="overriding-exception-reporting.html">Overriding Exception Reporting</a>
+                         <a shape="rect" href="error-page-recipe.html">Error Page Recipe</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="error-page-recipe.html">Error Page Recipe</a>
+                         <a shape="rect" href="specific-errors-faq.html">Specific Errors FAQ</a>
         
                                             </td></tr></table>
 </div>
@@ -93,32 +105,32 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>Let's start with a page that fires an exception from an event handler method.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Index.tml</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;html <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"</span>&gt;</span>
-    <span class="code-tag">&lt;head&gt;</span>
-        <span class="code-tag">&lt;title&gt;</span>Index<span class="code-tag">&lt;/title&gt;</span>
-    <span class="code-tag">&lt;/head&gt;</span>
-    <span class="code-tag">&lt;body&gt;</span>
-        <span class="code-tag">&lt;p&gt;</span>
-            <span class="code-tag">&lt;t:actionlink t:id=<span class="code-quote">"fail"</span>&gt;</span>click for exception<span class="code-tag">&lt;/t:actionlink&gt;</span>
-        <span class="code-tag">&lt;/p&gt;</span>
-    <span class="code-tag">&lt;/body&gt;</span>
-<span class="code-tag">&lt;/html&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"&gt;
+    &lt;head&gt;
+        &lt;title&gt;Index&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+        &lt;p&gt;
+            &lt;t:actionlink t:id="fail"&gt;click for exception&lt;/t:actionlink&gt;
+        &lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
+]]></script>
 </div></div>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Index.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">package</span> com.example.tapestry2523.pages;
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+package com.example.tapestry2523.pages;
 
-<span class="code-keyword">public</span> class Index
+public class Index
 {
     void onActionFromFail()
     {
-        <span class="code-keyword">throw</span> <span class="code-keyword">new</span> RuntimeException(<span class="code-quote">"Failure inside action event handler."</span>);
+        throw new RuntimeException("Failure inside action event handler.");
     }
 }
-</pre>
+]]></script>
 </div></div>
 
 <p>With production mode disabled, clicking the link displays the default exception report page:</p>
@@ -130,48 +142,48 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>This is as easy as providing a page named "ExceptionReport". It must implement the <a shape="rect" class="external-link" href="http://tapestry.apache.org/tapestry5/apidocs/org/apache/tapestry5/services/ExceptionReporter.html">ExceptionReporter</a> interface.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ExceptionReport.tml</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;html <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"</span>&gt;</span>
-    <span class="code-tag">&lt;head&gt;</span>
-        <span class="code-tag">&lt;title&gt;</span>Exception<span class="code-tag">&lt;/title&gt;</span>
-    <span class="code-tag">&lt;/head&gt;</span>
-
-    <span class="code-tag">&lt;body&gt;</span>
-
-        <span class="code-tag">&lt;p&gt;</span>An exception has occurred:
-            <span class="code-tag">&lt;strong&gt;</span>${exception.message}<span class="code-tag">&lt;/strong&gt;</span>
-        <span class="code-tag">&lt;/p&gt;</span>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"&gt;
+    &lt;head&gt;
+        &lt;title&gt;Exception&lt;/title&gt;
+    &lt;/head&gt;
+
+    &lt;body&gt;
+
+        &lt;p&gt;An exception has occurred:
+            &lt;strong&gt;${exception.message}&lt;/strong&gt;
+        &lt;/p&gt;
 
-        <span class="code-tag">&lt;p&gt;</span>
+        &lt;p&gt;
             Click
-            <span class="code-tag">&lt;t:pagelink page=<span class="code-quote">"index"</span>&gt;</span>here<span class="code-tag">&lt;/t:pagelink&gt;</span>
+            &lt;t:pagelink page="index"&gt;here&lt;/t:pagelink&gt;
             to restart.
-        <span class="code-tag">&lt;/p&gt;</span>
+        &lt;/p&gt;
 
-    <span class="code-tag">&lt;/body&gt;</span>
+    &lt;/body&gt;
 
-<span class="code-tag">&lt;/html&gt;</span>
-</pre>
+&lt;/html&gt;
+]]></script>
 </div></div>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ExceptionReport.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">package</span> com.example.tapestry2523.pages;
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+package com.example.tapestry2523.pages;
 
-<span class="code-keyword">import</span> org.apache.tapestry5.annotations.Property;
-<span class="code-keyword">import</span> org.apache.tapestry5.services.ExceptionReporter;
+import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.services.ExceptionReporter;
 
-<span class="code-keyword">public</span> class ExceptionReport <span class="code-keyword">implements</span> ExceptionReporter
+public class ExceptionReport implements ExceptionReporter
 {
     @Property
-    <span class="code-keyword">private</span> Throwable exception;
+    private Throwable exception;
 
-    <span class="code-keyword">public</span> void reportException(Throwable exception)
+    public void reportException(Throwable exception)
     {
-        <span class="code-keyword">this</span>.exception = exception;
+        this.exception = exception;
     }
 }
-</pre>
+]]></script>
 </div></div>
 
 <p>The end result is a customized exception report page.</p>
@@ -190,35 +202,35 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>We'll do this in two steps. First, we'll extend the Index page to serve as an ExceptionReporter. Second, we'll override the default RequestExceptionHandler to use the Index page instead of the ExceptionReport page. Of course, this is just one approach.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Index.tml (partial)</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
-    <span class="code-tag">&lt;t:if test=<span class="code-quote">"message"</span>&gt;</span>
-        <span class="code-tag">&lt;p&gt;</span>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+    &lt;t:if test="message"&gt;
+        &lt;p&gt;
             An unexpected exception has occurred:
-            <span class="code-tag">&lt;strong&gt;</span>${message}<span class="code-tag">&lt;/strong&gt;</span>
-        <span class="code-tag">&lt;/p&gt;</span>
-    <span class="code-tag">&lt;/t:if&gt;</span>
-</pre>
+            &lt;strong&gt;${message}&lt;/strong&gt;
+        &lt;/p&gt;
+    &lt;/t:if&gt;
+]]></script>
 </div></div>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Index.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">public</span> class Index <span class="code-keyword">implements</span> ExceptionReporter
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+public class Index implements ExceptionReporter
 {
     @Property
     @Persist(PersistenceConstants.FLASH)
-    <span class="code-keyword">private</span> <span class="code-object">String</span> message;
+    private String message;
 
-    <span class="code-keyword">public</span> void reportException(Throwable exception)
+    public void reportException(Throwable exception)
     {
         message = exception.getMessage();
     }
 
     void onActionFromFail()
     {
-        <span class="code-keyword">throw</span> <span class="code-keyword">new</span> RuntimeException(<span class="code-quote">"Failure inside action event handler."</span>);
+        throw new RuntimeException("Failure inside action event handler.");
     }
 }
-</pre>
+]]></script>
 </div></div>
 
 <p>The above defines a new property, message, on the Index page. The @Persist annotation indicates that values assigned to the field will persist from one request to another. The use of FLASH for the persistence strategy indicates that the value will be used until the next time the page renders, then the value will be discarded.</p>
@@ -228,36 +240,36 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>The remaining changes take place inside AppModule.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>AppModule.java (partial)</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-    <span class="code-keyword">public</span> RequestExceptionHandler buildAppRequestExceptionHandler(
-            <span class="code-keyword">final</span> Logger logger,
-            <span class="code-keyword">final</span> ResponseRenderer renderer,
-            <span class="code-keyword">final</span> ComponentSource componentSource)
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+    public RequestExceptionHandler buildAppRequestExceptionHandler(
+            final Logger logger,
+            final ResponseRenderer renderer,
+            final ComponentSource componentSource)
     {
-        <span class="code-keyword">return</span> <span class="code-keyword">new</span> RequestExceptionHandler()
+        return new RequestExceptionHandler()
         {
-            <span class="code-keyword">public</span> void handleRequestException(Throwable exception) <span class="code-keyword">throws</span> IOException
+            public void handleRequestException(Throwable exception) throws IOException
             {
-                logger.error(<span class="code-quote">"Unexpected runtime exception: "</span> + exception.getMessage(), exception);
+                logger.error("Unexpected runtime exception: " + exception.getMessage(), exception);
 
-                ExceptionReporter index = (ExceptionReporter) componentSource.getPage(<span class="code-quote">"Index"</span>);
+                ExceptionReporter index = (ExceptionReporter) componentSource.getPage("Index");
 
                 index.reportException(exception);
 
-                renderer.renderPageMarkupResponse(<span class="code-quote">"Index"</span>);
+                renderer.renderPageMarkupResponse("Index");
             }
         };
     }
 
-    <span class="code-keyword">public</span> void contributeServiceOverride(
-            MappedConfiguration&lt;<span class="code-object">Class</span>, <span class="code-object">Object</span>&gt; configuration,
+    public void contributeServiceOverride(
+            MappedConfiguration&lt;Class, Object&gt; configuration,
 
             @Local
             RequestExceptionHandler handler)
     {
         configuration.add(RequestExceptionHandler.class, handler);
     }
-</pre>
+]]></script>
 </div></div>
 
 <p>First we define the new service using a service builder method. This is an alternative to the <tt>bind()</tt> method; we define the service, its interface type (the return type of the method) and the service id (the part that follows "build" is the method name) and provide the implementation inline. A service builder method must return the service implementation, here implemented as an inner class.</p>
@@ -283,32 +295,32 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>However, there's no requirement that an interceptor for a service actually invoke methods on the service; here we contribute a new implementation that <em>replaces</em> the original:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>AppModule.java (partial)</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-    <span class="code-keyword">public</span> RequestExceptionHandler decorateRequestExceptionHandler(
-            <span class="code-keyword">final</span> Logger logger,
-            <span class="code-keyword">final</span> ResponseRenderer renderer,
-            <span class="code-keyword">final</span> ComponentSource componentSource,
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+    public RequestExceptionHandler decorateRequestExceptionHandler(
+            final Logger logger,
+            final ResponseRenderer renderer,
+            final ComponentSource componentSource,
             @Symbol(SymbolConstants.PRODUCTION_MODE)
-            <span class="code-object">boolean</span> productionMode,
-            <span class="code-object">Object</span> service)
+            boolean productionMode,
+            Object service)
     {
-        <span class="code-keyword">if</span> (!productionMode) <span class="code-keyword">return</span> <span class="code-keyword">null</span>;
+        if (!productionMode) return null;
 
-        <span class="code-keyword">return</span> <span class="code-keyword">new</span> RequestExceptionHandler()
+        return new RequestExceptionHandler()
         {
-            <span class="code-keyword">public</span> void handleRequestException(Throwable exception) <span class="code-keyword">throws</span> IOException
+            public void handleRequestException(Throwable exception) throws IOException
             {
-                logger.error(<span class="code-quote">"Unexpected runtime exception: "</span> + exception.getMessage(), exception);
+                logger.error("Unexpected runtime exception: " + exception.getMessage(), exception);
 
-                ExceptionReporter index = (ExceptionReporter) componentSource.getPage(<span class="code-quote">"Index"</span>);
+                ExceptionReporter index = (ExceptionReporter) componentSource.getPage("Index");
 
                 index.reportException(exception);
 
-                renderer.renderPageMarkupResponse(<span class="code-quote">"Index"</span>);
+                renderer.renderPageMarkupResponse("Index");
             }
         };
     }
-</pre>
+]]></script>
 </div></div>
 
 <p>As with service builder methods and service configuration method, decorator methods are recognized by the "decorate" prefix on the method name. As used here, the rest of the method name is used to identify the service to be decorated (there are other options that allow a decorator to be applied to many different services).</p>
@@ -324,7 +336,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <div class="clearer"></div>
 <div id="footer">
-<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.</p>
+<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.<br clear="none">
 <script type="text/javascript">
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'UA-400821-1']);
@@ -335,7 +347,7 @@ table.ScrollbarTable td.ScrollbarNextIco
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
   })();
-</script></div>
+</script></p></div>
 </div>
 		<div id="comments_thread"></div>
 		<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=tapestry&amp;page=http://tapestry.apache.org/overriding-exception-reporting.html" async="true">

Modified: websites/production/tapestry/content/page-and-component-classes-faq.html
==============================================================================
--- websites/production/tapestry/content/page-and-component-classes-faq.html (original)
+++ websites/production/tapestry/content/page-and-component-classes-faq.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,18 @@
     Page And Component Classes FAQ -- Apache Tapestry
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
+
+    <link href='http://cxf.apache.org/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' type='text/css' />
+  <link href='http://cxf.apache.org/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' type='text/css' />
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shCore.js' type='text/javascript'></script>
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shBrushJava.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"/>
+
 </head>
 <body>
   <div class="wrapper bs">
@@ -34,9 +45,9 @@
 </div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em">
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em"><p>
 <span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
-<form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
+</p><form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
@@ -64,7 +75,7 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="templating-and-markup-faq.html"><img align="middle" border="0" src="/images/confluence/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="frequently-asked-questions.html"><img align="middle" border="0" src="/images/confluence/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="forms-and-form-components-faq.html">Forms and Form Components FAQ</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="fo
 rms-and-form-components-faq.html"><img align="middle" border="0" src="/images/confluence/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="templating-and-markup-faq.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="frequently-asked-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="forms-and-form-components-faq.html">Forms and Form Components FAQ</a></td><td colspan="1" ro
 wspan="1" class="ScrollbarNextIcon"><a shape="rect" href="forms-and-form-components-faq.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
 
 <h2><a shape="rect" name="PageAndComponentClassesFAQ-PageAndComponentClasses"></a>Page And Component Classes</h2>
 
@@ -78,7 +89,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <p>The major difference is that Tapestry page templates may be stored in the web context directory, as if they were static files (they can't be accessed from the client however; a specific rule prevents access to files with the <tt>.tml</tt> extension).</p>
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">It is possible that this feature may be removed in a later release. It is preferred that page templates be stored on the classpath, like component templates.</td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">It is possible that this feature may be removed in a later release. It is preferred that page templates be stored on the classpath, like component templates.</td></tr></table></div>
 
 <h3><a shape="rect" name="PageAndComponentClassesFAQ-HowdoIstoremypageclassesinadifferentpackage%3F"></a>How do I store my page classes in a different package?</h3>
 
@@ -161,17 +172,17 @@ var footnoteMarkerHighlight = function(i
 <p>In addition, it is possible to define additional root packages for the application:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">public</span> <span class="code-keyword">static</span> void contributeComponentClassResolver(Configuration&lt;LibraryMapping&gt; configuration) {
-       configuration.add(<span class="code-keyword">new</span> LibraryMapping(<span class="code-quote">"", "</span>com.example.app.tasks"));
-       configuration.add(<span class="code-keyword">new</span> LibraryMapping(<span class="code-quote">"", "</span>com.example.app.chat"));
+<script class="theme: Default; brush: java; gutter: true" type="syntaxhighlighter"><![CDATA[
+public static void contributeComponentClassResolver(Configuration&lt;LibraryMapping&gt; configuration) {
+       configuration.add(new LibraryMapping("", "com.example.app.tasks"));
+       configuration.add(new LibraryMapping("", "com.example.app.chat"));
 }
-</pre>
+]]></script>
 </div></div>
 
 <p>LibraryMappings are used to resolve a library prefix to one or more package names.  The empty string represents the application itself; the above example adds two additional root packages; you might see additional pages under <tt>com.example.app.tasks.pages</tt>, for example.</p>
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry doesn't check for name collisions, and the order the packages are searched for pages and components is not defined. In general, if you can get by with a single root package for your application, that is better.</td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry doesn't check for name collisions, and the order the packages are searched for pages and components is not defined. In general, if you can get by with a single root package for your application, that is better.</td></tr></table></div>
 
 <h3><a shape="rect" name="PageAndComponentClassesFAQ-Whydomyinstancevariableshavetobeprivate%3F"></a>Why do my instance variables have to be private?</h3>
 
@@ -186,28 +197,28 @@ var footnoteMarkerHighlight = function(i
 <p>Getting informal parameters to work is in two steps.  First, you must make a call to the <tt>ComponentResources.renderInformalParameters()</tt> method, but just as importantly, you must tell Tapestry that you want the component to support informal parameters, using the <tt>SupportsInformalParameters</tt> annotation. Here's a hypothetical component that displays an image based on the value of a <tt>Image</tt> object (presumably, a database entity):</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: true" type="syntaxhighlighter"><![CDATA[
 @SupportsInformalParameters
-<span class="code-keyword">public</span> class DBImage
+public class DBImage
 {
-  @Parameter(required=<span class="code-keyword">true</span>)
-  <span class="code-keyword">private</span> Image image;
+  @Parameter(required=true)
+  private Image image;
 
   @Inject
-  <span class="code-keyword">private</span> ComponentResources resources;
+  private ComponentResources resources;
 
-  <span class="code-object">boolean</span> beginRender(MarkupWriter writer)
+  boolean beginRender(MarkupWriter writer)
   {
-    writer.element(<span class="code-quote">"img"</span>, <span class="code-quote">"src"</span>, image.toClientURL(), <span class="code-quote">"class"</span>, <span class="code-quote">"db-image"</span>);
+    writer.element("img", "src", image.toClientURL(), "class", "db-image");
 
     resources.renderInformalParameters(writer);
 
     writer.end();
 
-    <span class="code-keyword">return</span> <span class="code-keyword">false</span>;
+    return false;
   }
 }
-</pre>
+]]></script>
 </div></div>
 
 
@@ -221,20 +232,14 @@ var footnoteMarkerHighlight = function(i
 
 
 
-<map name="GLIFFY_MAP_23335008_Class_Loaders"></map>
-<table width="100%"><tr><td align="left" colspan="1" rowspan="1">
-            <table><caption align="bottom">
+<map id="gliffy-map-23527573-2808" name="gliffy-map-23527573-2808"></map>
+<table class="gliffy-macro-table" width="100%"><tr><td colspan="1" rowspan="1">
+            <table class="gliffy-macro-inner-table"><caption align="bottom">
                     
                         
-                        <a shape="rect" href="https://cwiki.apache.org/confluence/plugins/gliffy/viewlargediagram.action?name=Class Loaders&amp;ceoid=23335008&amp;key=TAPESTRY&amp;pageId=23335008" target="">Full Size</a>
-                    
-                         | 
-                        <a shape="rect" href="https://cwiki.apache.org/confluence/plugins/gliffy/showgliffyeditor.action?name=Class Loaders&amp;ceoid=23335008&amp;key=TAPESTRY&amp;lastPage=/display/TAPESTRY/Page+And+Component+Classes+FAQ&amp;pageId=23335008" target="">Edit Diagram</a>
-                    
-                         | 
-                        <a shape="rect" href="https://cwiki.apache.org/confluence/plugins/gliffy/removediagram.action?name=Class Loaders&amp;ceoid=23335008&amp;key=TAPESTRY&amp;lastPage=/display/TAPESTRY/Page+And+Component+Classes+FAQ&amp;pageId=23335008&amp;input=true" target="">Remove Diagram</a>
+                        <a shape="rect" href="https://cwiki.apache.org/confluence/plugins/gliffy/viewlargediagram.action?name=Class Loaders&amp;ceoid=23335008&amp;key=TAPESTRY&amp;pageId=23335008" target="_self">Full Size</a>
                                     </caption><tr><td colspan="1" rowspan="1">
-                        <img style="border: none; width: 750px; height: 425px;" usemap="#GLIFFY_MAP_23335008_Class_Loaders" src="page-and-component-classes-faq.data/Class+Loaders.png" alt="A&amp;#32;Gliffy&amp;#32;Diagram&amp;#32;named&amp;#58;&amp;#32;Class&amp;#32;Loaders">
+                        <img class="gliffy-macro-image" style="border: none; width: 750px;" usemap="#gliffy-map-23527573-2808" src="https://cwiki.apache.org/confluence/download/attachments/23335008/Class-Loaders.png?version=4&amp;modificationDate=1283534469000" alt="">
                     </td></tr></table>
         </td></tr></table>
 
@@ -261,18 +266,18 @@ to support live service reloading, and l
 <p>The second disadvantage is you are more susceptible to off-by-a-character errors. For example, <tt>onSucessFromLoginForm()</tt> will <em>never</em> be called because the event name is misspelled; this would not happen using the annotation approach:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-  @OnEvent(value=EventConstants.SUCCESS, component=<span class="code-quote">"loginForm"</span>)
-  <span class="code-object">Object</span> storeUserCredentialsAndReturnToProductsPage()
+<script class="theme: Default; brush: java; gutter: true" type="syntaxhighlighter"><![CDATA[
+  @OnEvent(value=EventConstants.SUCCESS, component="loginForm")
+  Object storeUserCredentialsAndReturnToProductsPage()
   {
     . . .
   }
-</pre>
+]]></script>
 </div></div>
 
 <p>The compiler will catch a misspelling of the constant <tt>SUCCESS</tt>. Likewise, local constants can be defined for key components, such as "loginForm".</p>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Ultimately, it's developer choice. HLS prefers the method naming conventions in nearly all cases, especially prototypes and demos, but can see that in some projects and some teams, an annotation-only approach is best.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Ultimately, it's developer choice. HLS prefers the method naming conventions in nearly all cases, especially prototypes and demos, but can see that in some projects and some teams, an annotation-only approach is best.</td></tr></table></div>
 
 <h3><a shape="rect" name="PageAndComponentClassesFAQ-WhydoIhavetoinjectapage%3FWhycan%27tIjustcreateoneusingnew%3F"></a>Why do I have to inject a page? Why can't I just create one using new?</h3>
 
@@ -288,7 +293,7 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="templating-and-markup-faq.html"><img align="middle" border="0" src="/images/confluence/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="frequently-asked-questions.html"><img align="middle" border="0" src="/images/confluence/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="forms-and-form-components-faq.html">Forms and Form Components FAQ</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="fo
 rms-and-form-components-faq.html"><img align="middle" border="0" src="/images/confluence/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="templating-and-markup-faq.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="frequently-asked-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="forms-and-form-components-faq.html">Forms and Form Components FAQ</a></td><td colspan="1" ro
 wspan="1" class="ScrollbarNextIcon"><a shape="rect" href="forms-and-form-components-faq.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div>
 
 <p>____</p>
 
@@ -303,7 +308,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <div class="clearer"></div>
 <div id="footer">
-<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.</p>
+<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.<br clear="none">
 <script type="text/javascript">
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'UA-400821-1']);
@@ -314,7 +319,7 @@ table.ScrollbarTable td.ScrollbarNextIco
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
   })();
-</script></div>
+</script></p></div>
 </div>
 		<div id="comments_thread"></div>
 		<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=tapestry&amp;page=http://tapestry.apache.org/page-and-component-classes-faq.html" async="true">

Modified: websites/production/tapestry/content/page-and-component-classes.html
==============================================================================
--- websites/production/tapestry/content/page-and-component-classes.html (original)
+++ websites/production/tapestry/content/page-and-component-classes.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,10 @@
     Page And Component Classes -- Apache Tapestry
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
+
+
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
+
 </head>
 <body>
   <div class="wrapper bs">
@@ -34,9 +37,9 @@
 </div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em">
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em"><p>
 <span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
-<form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
+</p><form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
@@ -61,7 +64,7 @@
 
 <div class="clearer"></div>
 <div id="footer">
-<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.</p>
+<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.<br clear="none">
 <script type="text/javascript">
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'UA-400821-1']);
@@ -72,7 +75,7 @@
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
   })();
-</script></div>
+</script></p></div>
 </div>
 		<div id="comments_thread"></div>
 		<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=tapestry&amp;page=http://tapestry.apache.org/page-and-component-classes.html" async="true">

Modified: websites/production/tapestry/content/page-life-cycle.html
==============================================================================
--- websites/production/tapestry/content/page-life-cycle.html (original)
+++ websites/production/tapestry/content/page-life-cycle.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,10 @@
     Page Life Cycle -- Apache Tapestry
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
+
+
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
+
 </head>
 <body>
   <div class="wrapper bs">
@@ -34,9 +37,9 @@
 </div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em">
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em"><p>
 <span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
-<form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
+</p><form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
@@ -60,10 +63,6 @@
 
 <div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px"><table class="tableview" width="100%"><tr><th colspan="1" rowspan="1" style="padding: 3px 3px 3px 0px">Related Articles</th></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="component-events-faq.html">Component Events FAQ</a>
-        
-                                            </td></tr><tr><td colspan="1" rowspan="1">
-                                 <span class="icon icon-page" title="Page">Page:</span>
                          <a shape="rect" href="request-processing.html">Request Processing</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
@@ -76,11 +75,15 @@
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
+                         <a shape="rect" href="page-life-cycle.html">Page Life Cycle</a>
+        
+                                            </td></tr><tr><td colspan="1" rowspan="1">
+                                 <span class="icon icon-page" title="Page">Page:</span>
                          <a shape="rect" href="page-navigation.html">Page Navigation</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="page-life-cycle.html">Page Life Cycle</a>
+                         <a shape="rect" href="component-events-faq.html">Component Events FAQ</a>
         
                                             </td></tr></table>
 </div>
@@ -97,7 +100,7 @@
 
 <p>With this approach, all the difficult, ugly issues related to multi-threading go by the wayside. Instead, familiar, simple coding practices (using ordinary methods and fields) can be used.</p>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry 5.0 and 5.1 used page pooling, rather than a singleton page with a per_thread map, to achieve the same effect.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry 5.0 and 5.1 used page pooling, rather than a singleton page with a per_thread map, to achieve the same effect.</td></tr></table></div>
 
 <h2><a shape="rect" name="PageLifeCycle-PageLifeCycleMethods"></a>Page Life Cycle Methods</h2>
 
@@ -134,7 +137,7 @@
 
 <h2><a shape="rect" name="PageLifeCycle-PagePoolConfiguration"></a>Page Pool Configuration</h2>
 
-<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">As of 5.2, Tapestry does <em>not</em> employ page pooling by default</td></tr></table></div>
+<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">As of 5.2, Tapestry does <em>not</em> employ page pooling by default</td></tr></table></div>
 
 <p>In Tapestry 5.0 and 5.1, a page pool is used to store page instances. The pool is "keyed" on the name of the page (such as "start") and the <em>locale</em> for the page (such as "en" or "fr").</p>
 
@@ -160,7 +163,7 @@ Thus a busy application will initially c
 
 <div class="clearer"></div>
 <div id="footer">
-<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.</p>
+<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.<br clear="none">
 <script type="text/javascript">
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'UA-400821-1']);
@@ -171,7 +174,7 @@ Thus a busy application will initially c
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
   })();
-</script></div>
+</script></p></div>
 </div>
 		<div id="comments_thread"></div>
 		<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=tapestry&amp;page=http://tapestry.apache.org/page-life-cycle.html" async="true">

Modified: websites/production/tapestry/content/page-navigation.html
==============================================================================
--- websites/production/tapestry/content/page-navigation.html (original)
+++ websites/production/tapestry/content/page-navigation.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,18 @@
     Page Navigation -- Apache Tapestry
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
+
+    <link href='http://cxf.apache.org/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' type='text/css' />
+  <link href='http://cxf.apache.org/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' type='text/css' />
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shCore.js' type='text/javascript'></script>
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shBrushJava.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"/>
+
 </head>
 <body>
   <div class="wrapper bs">
@@ -34,9 +45,9 @@
 </div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em">
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em"><p>
 <span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
-<form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
+</p><form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
@@ -60,15 +71,15 @@
 
 <div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px"><table class="tableview" width="100%"><tr><th colspan="1" rowspan="1" style="padding: 3px 3px 3px 0px">Related Articles</th></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="component-events-faq.html">Component Events FAQ</a>
+                         <a shape="rect" href="request-processing.html">Request Processing</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="request-processing.html">Request Processing</a>
+                         <a shape="rect" href="component-events.html">Component Events</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="component-events.html">Component Events</a>
+                         <a shape="rect" href="component-rendering.html">Component Rendering</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
@@ -76,7 +87,7 @@
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="component-rendering.html">Component Rendering</a>
+                         <a shape="rect" href="page-life-cycle.html">Page Life Cycle</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
@@ -84,7 +95,7 @@
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="page-life-cycle.html">Page Life Cycle</a>
+                         <a shape="rect" href="component-events-faq.html">Component Events FAQ</a>
         
                                             </td></tr></table>
 </div>
@@ -103,7 +114,7 @@ This dichotomy between component event r
 
 <p>In certain cases, Tapestry will shorten the the logical name of a page. For example, the page class org.example.pages.address.CreateAddress will be given a logical name of "address/Create" (the redundant "Address" is removed as a suffix). However, this only affects how the page is referenced in URLs; the template file will still be CreateAddress.tml, whether on the classpath, or as address/CreateAddress.tml (in the web context).</p>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry actually creates multiple names for the name page:  address/Create and address/CreateAddress are both synonymous. You can user either in Java code that refers to a page by name, or as the page parameter of a PageLink.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry actually creates multiple names for the name page:  address/Create and address/CreateAddress are both synonymous. You can user either in Java code that refers to a page by name, or as the page parameter of a PageLink.</td></tr></table></div>
 
 <h2><a shape="rect" name="PageNavigation-ComponentEventRequests%26Responses"></a>Component Event Requests &amp; Responses</h2>
 
@@ -125,9 +136,9 @@ This dichotomy between component event r
 
 <p>The user will see the newly generated content in their browser. In addition, the URL in the browser's address bar will be a render request URL. Render request URLs are shorter and contain less application structure (for instance, they don't include component ids or event types). Render requests URLs are what your users will bookmark. The component event request URLs are transitory, meaningful only while the application is actively engaged, and not meant to be used in later sessions.</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java"><span class="code-keyword">public</span> <span class="code-object">Object</span> onAction(){
-  <span class="code-keyword">return</span> <span class="code-keyword">null</span>;
-}</pre>
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public Object onAction(){
+  return null;
+}]]></script>
 </div></div>
 
 <h3><a shape="rect" name="PageNavigation-2.Stringresponse"></a>2. String response</h3>
@@ -136,9 +147,9 @@ This dichotomy between component event r
 
 <p>Again, a render request URL will be constructed and sent to the client as a redirect.</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java"><span class="code-keyword">public</span> <span class="code-object">String</span> onAction(){
-  <span class="code-keyword">return</span> <span class="code-quote">"Index"</span>;
-}</pre>
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public String onAction(){
+  return "Index";
+}]]></script>
 </div></div>
 
 <h3><a shape="rect" name="PageNavigation-3.Classresponse"></a>3. Class response</h3>
@@ -147,9 +158,9 @@ This dichotomy between component event r
 
 <p>As with other response types, a render request URL will be constructed and sent to the client as a redirect.</p>
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java"><span class="code-keyword">public</span> <span class="code-object">Object</span> onAction(){
-  <span class="code-keyword">return</span> Index.class
-}</pre>
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public Object onAction(){
+  return Index.class
+}]]></script>
 </div></div>
 
 <h3><a shape="rect" name="PageNavigation-4.Pageresponse"></a>4. Page response</h3>
@@ -164,12 +175,12 @@ This dichotomy between component event r
 
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">@InjectPage
-<span class="code-keyword">private</span> Index index;
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[@InjectPage
+private Index index;
 
-<span class="code-keyword">public</span> <span class="code-object">Object</span> onAction(){
-  <span class="code-keyword">return</span> index;
-}</pre>
+public Object onAction(){
+  return index;
+}]]></script>
 </div></div>
 
 <h3><a shape="rect" name="PageNavigation-5.HttpError"></a>5. HttpError</h3>
@@ -177,10 +188,10 @@ This dichotomy between component event r
 <p>An event handler method may return a <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/HttpError.html">HttpError</a> instance to send an error response to the client.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">public</span> <span class="code-object">Object</span> onAction(){
-  <span class="code-keyword">return</span> <span class="code-keyword">new</span> HttpError(302, "The Error message);
-}</pre>
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+public Object onAction(){
+  return new HttpError(302, "The Error message);
+}]]></script>
 </div></div>
 
 <h3><a shape="rect" name="PageNavigation-6.Linkresponse"></a>6. Link response</h3>
@@ -216,21 +227,21 @@ This dichotomy between component event r
 <p>This querying takes the form of an event trigger. The event name is "passivate" (as we'll see shortly, there's a corresponding "activate"). The return value of the method is used as the context. For example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">public</span> class ProductDetail
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+public class ProductDetail
 {
-  <span class="code-keyword">private</span> Product product;
+  private Product product;
 
   . . .
 
-  <span class="code-object">long</span> onPassivate() { <span class="code-keyword">return</span> product.getId(); }
+  long onPassivate() { return product.getId(); }
 }
-</pre>
+]]></script>
 </div></div>
 
 <p>The activation context may consist of a series of values, in which case the return value of the method should be an array or a List.</p>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Note: If you are using the <a shape="rect" href="hibernate-user-guide.html" title="Hibernate User Guide">tapestry-hibernate</a> integration library and your passivate context is a Hibernate entity, then you can just use the entity itself, not its id. Tapestry will automatically extract the entity's id into the URL, and convert it back for the "activate" event handler method.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Note: If you are using the <a shape="rect" href="hibernate-user-guide.html" title="Hibernate User Guide">tapestry-hibernate</a> integration library and your passivate context is a Hibernate entity, then you can just use the entity itself, not its id. Tapestry will automatically extract the entity's id into the URL, and convert it back for the "activate" event handler method.</td></tr></table></div>
 
 <h2><a shape="rect" name="PageNavigation-Pageactivation"></a>Page activation</h2>
 
@@ -245,16 +256,16 @@ The later case, validation, is generally
 <p>A page's activate event handler mirrors its passivate handler:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
   . . .
 
-  void onActivate(<span class="code-object">long</span> productId)
+  void onActivate(long productId)
   {
      product = productDAO.getById(productId);
   }
 
   . . .
-</pre>
+]]></script>
 </div></div>
 
 <p>Here's the relevant part: when the page renders, it is likely to include more component event request URLs (links and forms). The component event requests for those links and forms will <em>also</em> start by activating the page, before performing other work. This forms an unbroken chain of requests that include the same activation context.</p>
@@ -274,44 +285,44 @@ The later case, validation, is generally
 <p>In this pattern, the ProductListing page uses action events and a persistent field on the ProductDetails page.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ProductListing.html</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-  &lt;t:loop source=<span class="code-quote">"products"</span> value=<span class="code-quote">"product"</span>&gt;
-    &lt;a t:type=<span class="code-quote">"actionlink"</span> t:id=<span class="code-quote">"select"</span> context=<span class="code-quote">"product.id"</span>&gt;${product.name}&lt;/a&gt;
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+  &lt;t:loop source="products" value="product"&gt;
+    &lt;a t:type="actionlink" t:id="select" context="product.id"&gt;${product.name}&lt;/a&gt;
   &lt;/t:loop&gt;
-</pre>
+]]></script>
 </div></div>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ProductListing.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
   @InjectPage
-  <span class="code-keyword">private</span> ProductDetails details;
+  private ProductDetails details;
 
-  <span class="code-object">Object</span> onActionFromSelect(<span class="code-object">long</span> productId)
+  Object onActionFromSelect(long productId)
   {
     details.setProductId(productId);
 
-    <span class="code-keyword">return</span> details;
+    return details;
   }
-</pre>
+]]></script>
 </div></div>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ProductDetails.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
   @Inject
-  <span class="code-keyword">private</span> ProductDAO dao;
+  private ProductDAO dao;
 
-  <span class="code-keyword">private</span> Product product;
+  private Product product;
 
   @Persist
-  <span class="code-keyword">private</span> <span class="code-object">long</span> productId;
+  private long productId;
 
-  <span class="code-keyword">public</span> void setProductId(<span class="code-object">long</span> productId) { <span class="code-keyword">this</span>.productId = productId; }
+  public void setProductId(long productId) { this.productId = productId; }
 
   void onActivate()
   {
     product = dao.getById(productId);
   }
-</pre>
+]]></script>
 </div></div>
 
 <p>This is a minimal approach, perhaps good enough for a prototype.</p>
@@ -329,25 +340,25 @@ The later case, validation, is generally
 <p>We can improve the previous example without changing the ProductListing page, using a passivation and activation context to avoid the session and make the links more bookmarkable.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ProductDetails.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
   @Inject
-  <span class="code-keyword">private</span> ProductDAO dao;
+  private ProductDAO dao;
 
-  <span class="code-keyword">private</span> Product product;
+  private Product product;
 
-  <span class="code-keyword">private</span> <span class="code-object">long</span> productId;
+  private long productId;
 
-  <span class="code-keyword">public</span> void setProductId(<span class="code-object">long</span> productId) { productId = productId; }
+  public void setProductId(long productId) { productId = productId; }
 
-  void onActivate(<span class="code-object">long</span> productId)
+  void onActivate(long productId)
   {
-    <span class="code-keyword">this</span>.productId = productId;
+    this.productId = productId;
 
     product = dao.getById(productId);
   }
 
-  <span class="code-object">long</span> onPassivate() { <span class="code-keyword">return</span> productId; }
-</pre>
+  long onPassivate() { return productId; }
+]]></script>
 </div></div>
 
 <p>This change ensures that the render request URL will include the product id, i.e., "http://.../productdetails/99".</p>
@@ -359,37 +370,37 @@ The later case, validation, is generally
 <p>This is the most common version of this master/detail relationship.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ProductListing.html</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-  &lt;t:loop source=<span class="code-quote">"products"</span> value=<span class="code-quote">"product"</span>&gt;
-    &lt;a t:type=<span class="code-quote">"pagelink"</span> page=<span class="code-quote">"productdetails"</span> context=<span class="code-quote">"product.id"</span>&gt;${product.name}&lt;/a&gt;
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+  &lt;t:loop source="products" value="product"&gt;
+    &lt;a t:type="pagelink" page="productdetails" context="product.id"&gt;${product.name}&lt;/a&gt;
   &lt;/t:loop&gt;
-</pre>
+]]></script>
 </div></div>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ProductListing.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 No code is needed to support the link.
-</pre>
+]]></script>
 </div></div>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>ProductDetails.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
   @Inject
-  <span class="code-keyword">private</span> ProductDAO dao;
+  private ProductDAO dao;
 
-  <span class="code-keyword">private</span> Product product;
+  private Product product;
 
-  <span class="code-keyword">private</span> <span class="code-object">long</span> productId;
+  private long productId;
 
-  void onActivate(<span class="code-object">long</span> productId)
+  void onActivate(long productId)
   {
-    <span class="code-keyword">this</span>.productId = productId;
+    this.productId = productId;
 
     product = dao.getById(productId);
   }
 
-  <span class="code-object">long</span> onPassivate() { <span class="code-keyword">return</span> productId; }
-</pre>
+  long onPassivate() { return productId; }
+]]></script>
 </div></div>
 
 <p>The setProductId() method is no longer needed.</p>
@@ -403,7 +414,7 @@ No code is needed to support the link.
 
 <div class="clearer"></div>
 <div id="footer">
-<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.</p>
+<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.<br clear="none">
 <script type="text/javascript">
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'UA-400821-1']);
@@ -414,7 +425,7 @@ No code is needed to support the link.
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
   })();
-</script></div>
+</script></p></div>
 </div>
 		<div id="comments_thread"></div>
 		<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=tapestry&amp;page=http://tapestry.apache.org/page-navigation.html" async="true">