Author: buildbot
Date: Fri Jan 22 12:19:44 2016
New Revision: 978298
Log:
Production update by buildbot for tapestry
Modified:
websites/production/tapestry/content/cache/main.pageCache
websites/production/tapestry/content/default-parameter.html
websites/production/tapestry/content/specific-errors-faq.html
websites/production/tapestry/content/supporting-informal-parameters.html
Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/tapestry/content/default-parameter.html
==============================================================================
--- websites/production/tapestry/content/default-parameter.html (original)
+++ websites/production/tapestry/content/default-parameter.html Fri Jan 22
12:19:44 2016
@@ -32,7 +32,6 @@
<script src='/resources/highlighter/scripts/shCore.js'
type='text/javascript'></script>
<script src='/resources/highlighter/scripts/shBrushJava.js'
type='text/javascript'></script>
<script src='/resources/highlighter/scripts/shBrushXml.js'
type='text/javascript'></script>
- <script src='/resources/highlighter/scripts/shBrushPlain.js'
type='text/javascript'></script>
<script>
SyntaxHighlighter.defaults['toolbar'] = false;
SyntaxHighlighter.all();
@@ -69,26 +68,7 @@
</div>
<div id="content">
- <div id="ConfluenceContent"><p>
-</p><div class="atb-scrollbar-macro">
- <div class="prev">
-
- </div>
- <div class="parent">
- <a href="cookbook.html" rel="parent">
- <span class="aui-icon
aui-icon-small atb-icon-arrow-up">Up</span>
- <span class="title">Cookbook</span>
- </a>
-
- </div>
- <div class="next">
- <a href="overriding-exception-reporting.html" rel="next">
- <span class="title">Overriding Exception Reporting</span>
- <span class="aui-icon aui-icon-small
atb-icon-arrow-right">Next</span>
- </a>
-
- </div>
-</div><p>Many of the components provided with Tapestry share a common
behavior: if the component's id matches a property of the container, then some
parameter of the component (usually value) defaults to that property.</p><div
class="aui-label" style="float:right" title="Related Articles">
+ <div id="ConfluenceContent"><p> </p><p>Many of the
components provided with Tapestry share a common behavior: if the component's
id matches a property of the container, then some parameter of the component
(usually value) defaults to that property.</p><div class="aui-label"
style="float:right" title="Related Articles">
Modified: websites/production/tapestry/content/specific-errors-faq.html
==============================================================================
--- websites/production/tapestry/content/specific-errors-faq.html (original)
+++ websites/production/tapestry/content/specific-errors-faq.html Fri Jan 22
12:19:44 2016
@@ -131,7 +131,7 @@
</div>
</li></ul>
-</div><h3
id="SpecificErrorsFAQ-WhydoIgettheexception"Noserviceimplementstheinterfaceorg.apache.tapestry5.internal.InternalComponentResources"whentryingtousetheBeanEditFormcomponent?">Why
do I get the exception "No service implements the interface
org.apache.tapestry5.internal.InternalComponentResources" when trying to use
the BeanEditForm component?</h3><p>This can occur when you choose the wrong
package for your data object, the object edited by the BeanEditForm component.
If you place it in the same package as your pages, Tapestry will treat it like
a page, and perform a number of transformation on it, including adding a new
constructor.</p><p>Only component classes should go in the Tapestry-controlled
packages (<code>pages</code>, <code>components</code>, <code>mixins</code> and
<code>base</code> under your application's root package). By convention, simple
data objects should go in a <code>data</code> package, and Hibernate entities
should go in an <code>entities</cod
e> package.</p><div class="confluence-information-macro
confluence-information-macro-note"><span class="aui-icon aui-icon-small
aui-iconfont-warning confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>This is likely a bit different in
5.3 than in 5.2 (because 5.3 builds a very different constructor into the
component) and needs to be tested in 5.3 to see what exact exception will
occur.</p></div></div><h3
id="SpecificErrorsFAQ-Igetanerrorabout"Pagedidnotgenerateanymarkupwhenrendered."butIhaveatemplate,whathappened?">I
get an error about "Page did not generate any markup when rendered." but I
have a template, what happened?</h3><p>The most common error here is that the
case of the page class did not match the case of the template. For example, you
might name your class ViewOrders, but name the template vieworders.tml. The
correct name for the template is ViewOrders.tml, matching the case of the Java
class name.</p><p>Worse, you may fi
nd that your application works during development (under Windows, which is
case insensitive) but does not work when deployed on a Linux or Unix server,
which may be case sensitive.</p><p>The other cause of this may be that your
template files simply are not being packaged up correctly with the rest of your
application. When in doubt, use the Java <code>jar</code> command to see
exactly whats inside your WAR file. Your page templates should either be in the
root folder of the WAR, or package with the corresponding .class file.</p><h3
id="SpecificErrorsFAQ-MyapplicationfailswiththeerrorPermGen,howdoIfixthis?">My
application fails with the error <strong>PermGen</strong>, how do I fix
this?</h3><p>PermGen refers to the part of the Java memory space devoted to
permanent objects, which are mostly loaded classes. When developing under
Tapestry, many more classes and class loaders are created than normal; this is
part of live class reloading. Because of this, you will want to increase the a
mount of memory Java devotes to this.</p><p>The solution is to add
<code>-XX:MaxPermSize=512m</code> to your command line. You may also want to
increase the regular amount of heap space with <code>-Xmx600M</code>. Of
course, you may need to adjust the amount of memory in each category to match
your actual application, but these are good starting values.</p><p>Java Virtual
Machine arguments can be specified inside an Eclipse launch
configuration:</p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image confluence-thumbnail"
src="specific-errors-faq.data/eclipse-permgen.png"></span></p><h3
id="SpecificErrorsFAQ-WhydoIsometimesgetajava.lang.NoSuchMethodErrorexceptionafterreloadingmypage?">Why
do I sometimes get a <code>java.lang.NoSuchMethodError</code> exception after
reloading my page?</h3><p>Tapestry's live class reloading is not
perfect. <span style="line-height: 1.4285715;">It tends to use a lot of
Java ClassLoaders on top of the normal Class
Loaders used by the Java Virtual Machine and the servlet container. When you
change non-component classes and interfaces that are referenced by components
and pages, such as to add or change a method, only the component classes are
reloaded. The non-component classes are frozen as they were when they were
</span><em style="line-height: 1.4285715;">first</em><span style="line-height:
1.4285715;"> loaded.</span></p><p>Unfortunately, this is one of the areas where
you must restart your application entirely in order to force the new versions
of the non-component classes to be loaded into memory.</p><h3
id="SpecificErrorsFAQ-Whydomylogscontain"java.lang.RuntimeException:FormsrequirethattherequestmethodbePOSTandthatthet:formdataqueryparameterhavevalues"?">Why
do my logs contain "java.lang.RuntimeException: Forms require that the request
method be POST and that the t:formdata query parameter have
values"?</h3><p>This is caused by someone (or something) submitting the URL of
your
form using an HTTP GET instead of POST. Tapestry forms must always use POST
actions.</p><p>Some known scenarios that cause this error:</p><ul><li>Bots
crawling your site</li><li>Web browser auto-complete functions trying to be
helpful</li><li>Users with browser developer tools manually modifying the form
from a POST to a GET to see what will happen.</li><li>Users getting a
validation error on a form, then re-submitting the form by clicking in the URL
address field and hitting Enter.</li></ul><p>In every known scenario, these
errors are harmless and you probably want to redirect the user to the page the
form is on – and avoid logging an error. That's not too hard to do. Just
add code like the following to your module class (usually
AppModule.java):</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeHeader panelHeader pdl" style="border-bottom-width:
1px;"><b>AppModule.java (partial)</b></div><div class="codeContent panelContent
pdl">
+</div><h3
id="SpecificErrorsFAQ-WhydoIgettheexception"Noserviceimplementstheinterfaceorg.apache.tapestry5.internal.InternalComponentResources"whentryingtousetheBeanEditFormcomponent?">Why
do I get the exception "No service implements the interface
org.apache.tapestry5.internal.InternalComponentResources" when trying to use
the BeanEditForm component?</h3><p>This can occur when you choose the wrong
package for your data object, the object edited by the BeanEditForm component.
If you place it in the same package as your pages, Tapestry will treat it like
a page, and perform a number of transformation on it, including adding a new
constructor.</p><p>Only component classes should go in the Tapestry-controlled
packages (<code>pages</code>, <code>components</code>, <code>mixins</code> and
<code>base</code> under your application's root package). By convention, simple
data objects should go in a <code>data</code> package, and Hibernate entities
should go in an <code>entities</cod
e> package.</p><div class="confluence-information-macro
confluence-information-macro-note"><span class="aui-icon aui-icon-small
aui-iconfont-warning confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>This is likely a bit different in
5.3 than in 5.2 (because 5.3 builds a very different constructor into the
component) and needs to be tested in 5.3 to see what exact exception will
occur.</p></div></div><h3
id="SpecificErrorsFAQ-Igetanerrorabout"Pagedidnotgenerateanymarkupwhenrendered."butIhaveatemplate,whathappened?">I
get an error about "Page did not generate any markup when rendered." but I
have a template, what happened?</h3><p>The most common error here is that the
case of the page class did not match the case of the template. For example, you
might name your class ViewOrders, but name the template vieworders.tml. The
correct name for the template is ViewOrders.tml, matching the case of the Java
class name.</p><p>Worse, you may fi
nd that your application works during development (under Windows, which is
case insensitive) but does not work when deployed on a Linux or Unix server,
which may be case sensitive.</p><p>The other cause of this may be that your
template files simply are not being packaged up correctly with the rest of your
application. When in doubt, use the Java <code>jar</code> command to see
exactly whats inside your WAR file. Your page templates should either be in the
root folder of the WAR, or package with the corresponding .class file.</p><h3
id="SpecificErrorsFAQ-MyapplicationfailswiththeerrorPermGen,howdoIfixthis?">My
application fails with the error <strong>PermGen</strong>, how do I fix
this?</h3><p>PermGen refers to the part of the Java memory space devoted to
permanent objects, which are mostly loaded classes. When developing under
Tapestry, many more classes and class loaders are created than normal; this is
part of live class reloading. Because of this, you will want to increase the a
mount of memory Java devotes to this.</p><p>The solution is to add
<code>-XX:MaxPermSize=512m</code> to your command line. You may also want to
increase the regular amount of heap space with <code>-Xmx600M</code>. Of
course, you may need to adjust the amount of memory in each category to match
your actual application, but these are good starting values.</p><p>Java Virtual
Machine arguments can be specified inside an Eclipse launch
configuration:</p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image confluence-thumbnail"
src="specific-errors-faq.data/eclipse-permgen.png"></span></p><h3
id="SpecificErrorsFAQ-WhydoIsometimesgetajava.lang.NoSuchMethodErrorexceptionafterreloadingmypage?">Why
do I sometimes get a <code>java.lang.NoSuchMethodError</code> exception after
reloading my page?</h3><p>Tapestry's live class reloading is not
perfect. <span style="line-height: 1.4285715;">It tends to use a lot of
Java ClassLoaders on top of the normal Class
Loaders used by the Java Virtual Machine and the servlet container. When you
change non-component classes and interfaces that are referenced by components
and pages, such as to add or change a method, only the component classes are
reloaded. The non-component classes are frozen as they were when they were
</span><em style="line-height: 1.4285715;">first</em><span style="line-height:
1.4285715;"> loaded.</span></p><p>Unfortunately, this is one of the areas where
you must restart your application entirely in order to force the new versions
of the non-component classes to be loaded into memory.</p><h3
id="SpecificErrorsFAQ-Whydomylogscontain"java.lang.RuntimeException:FormsrequirethattherequestmethodbePOSTandthatthet:formdataqueryparameterhavevalues"?">Why
do my logs contain "java.lang.RuntimeException: Forms require that the request
method be POST and that the t:formdata query parameter have
values"?</h3><p>This is caused by someone (or something) submitting the URL of
your
form using an HTTP GET instead of POST. Tapestry forms must always use POST
actions.</p><p>Some known scenarios that cause this error:</p><ul><li>Bots
crawling your site</li><li>Web browser auto-complete functions trying to be
helpful</li><li>Users with browser developer tools manually modifying the form
from a POST to a GET to see what will happen.</li><li>Users getting a
validation error on a form, then re-submitting the form by clicking in the URL
address field and hitting Enter.</li><li>In Tapestry versions before 5.4,
(rarely) the use of property names for form fields where the property name
matches a JavaScript property (see <a class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-2066">TAP5-2066</a>).</li></ul><p>In
every known scenario except the last, these errors are harmless and you
probably want to redirect the user to the page the form is on – and avoid
logging an error. That's not too hard to do. Just add code like the following
to your module c
lass (usually AppModule.java):</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>AppModule.java (partial)</b></div><div
class="codeContent panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;"> /**
* Redirect the user to the intended page when browsing through
* tapestry forms through browser history or over-eager autocomplete
Modified:
websites/production/tapestry/content/supporting-informal-parameters.html
==============================================================================
--- websites/production/tapestry/content/supporting-informal-parameters.html
(original)
+++ websites/production/tapestry/content/supporting-informal-parameters.html
Fri Jan 22 12:19:44 2016
@@ -31,8 +31,6 @@
<link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet'
type='text/css' />
<script src='/resources/highlighter/scripts/shCore.js'
type='text/javascript'></script>
<script src='/resources/highlighter/scripts/shBrushJava.js'
type='text/javascript'></script>
- <script src='/resources/highlighter/scripts/shBrushXml.js'
type='text/javascript'></script>
- <script src='/resources/highlighter/scripts/shBrushPlain.js'
type='text/javascript'></script>
<script>
SyntaxHighlighter.defaults['toolbar'] = false;
SyntaxHighlighter.all();
@@ -69,30 +67,7 @@
</div>
<div id="content">
- <div id="ConfluenceContent"><p>
-</p><div class="atb-scrollbar-macro">
- <div class="prev">
- <a href="error-page-recipe.html" rel="prev">
- <span class="aui-icon aui-icon-small
atb-icon-arrow-left">Previous</span>
- <span class="title">Error Page Recipe</span>
- </a>
-
- </div>
- <div class="parent">
- <a href="cookbook.html" rel="parent">
- <span class="aui-icon
aui-icon-small atb-icon-arrow-up">Up</span>
- <span class="title">Cookbook</span>
- </a>
-
- </div>
- <div class="next">
- <a href="component-libraries.html" rel="next">
- <span class="title">Component Libraries</span>
- <span class="aui-icon aui-icon-small
atb-icon-arrow-right">Next</span>
- </a>
-
- </div>
-</div><strong>Informal parameters</strong> are any additional parameters
beyond the parameters explicitly defined for a component using the <a
class="external-link"
href="http://tapestry.apache.org/tapestry5/apidocs/org/apache/tapestry5/annotations/Parameter.html">Parameter</a>
annotation.<div class="aui-label" style="float:right" title="Related Articles">
+ <div id="ConfluenceContent"><p> <strong>Informal
parameters</strong> are any additional parameters beyond the parameters
explicitly defined for a component using the <a class="external-link"
href="http://tapestry.apache.org/tapestry5/apidocs/org/apache/tapestry5/annotations/Parameter.html">Parameter</a>
annotation.</p><div class="aui-label" style="float:right" title="Related
Articles">