Modified: websites/production/tapestry/content/release-notes-550.html
==============================================================================
--- websites/production/tapestry/content/release-notes-550.html (original)
+++ websites/production/tapestry/content/release-notes-550.html Fri May 1
01:25:19 2020
@@ -297,7 +297,7 @@
<style type="text/css">
- #refresh-module--632177603 .icon {
+ #refresh-module--1764636085 .icon {
background-position: left center;
background-repeat: no-repeat;
display: inline-block;
@@ -308,13 +308,13 @@
vertical-align: text-bottom;
}
</style>
-</p><div class="refresh-module-id jira-table" id="refresh-module--632177603">
+</p><div class="refresh-module-id jira-table" id="refresh-module--1764636085">
<p>
- </p><div class="jira-issues" id="jira-issues--632177603" style="width:
100%; overflow: auto;">
+ </p><div class="jira-issues" id="jira-issues--1764636085" style="width:
100%; overflow: auto;">
<table class="table table-bordered
table-responsive"><tbody><tr><td></td></tr><tr><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">Key</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span
class="jim-table-header-content">Summary</span></th><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">T</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span class="jim-table-header-content">Crea
ted</span></th><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">Updated</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span
class="jim-table-header-content">Due</span></th><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">Assignee</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span
class="jim-table-header-content">Reporter</span></th><th colspan="1"
rowspan="1" class="jira-macro-table-
underline-pdfexport jira-tablesorter-header" style="text-align: left;
text-transform: capitalize; padding:5px !important;"><span
class="jim-table-header-content">P</span></th><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">Status</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span
class="jim-table-header-content">Resolution</span></th></tr><tr
class="rowNormal"><td colspan="1" nowrap>
<a
href="https://issues.apache.org/jira/browse/TAP5-2615?src=confmacro">TAP5-2615</a>
</td><td
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport"
style="padding:5px !important;vertical-align: top;">
@@ -830,7 +830,7 @@
<style type="text/css">
- #refresh-module-851813541 .icon {
+ #refresh-module--1911289322 .icon {
background-position: left center;
background-repeat: no-repeat;
display: inline-block;
@@ -841,13 +841,13 @@
vertical-align: text-bottom;
}
</style>
-</p><div class="refresh-module-id jira-table" id="refresh-module-851813541">
+</p><div class="refresh-module-id jira-table" id="refresh-module--1911289322">
<p>
- </p><div class="jira-issues" id="jira-issues-851813541" style="width:
100%; overflow: auto;">
+ </p><div class="jira-issues" id="jira-issues--1911289322" style="width:
100%; overflow: auto;">
<table class="table table-bordered
table-responsive"><tbody><tr><td></td></tr><tr><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">Key</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span
class="jim-table-header-content">Summary</span></th><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">T</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span class="jim-table-header-content">Crea
ted</span></th><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">Updated</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span
class="jim-table-header-content">Due</span></th><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">Assignee</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span
class="jim-table-header-content">Reporter</span></th><th colspan="1"
rowspan="1" class="jira-macro-table-
underline-pdfexport jira-tablesorter-header" style="text-align: left;
text-transform: capitalize; padding:5px !important;"><span
class="jim-table-header-content">P</span></th><th colspan="1" rowspan="1"
class="jira-macro-table-underline-pdfexport jira-tablesorter-header"
style="text-align: left; text-transform: capitalize; padding:5px
!important;"><span class="jim-table-header-content">Status</span></th><th
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport
jira-tablesorter-header" style="text-align: left; text-transform: capitalize;
padding:5px !important;"><span
class="jim-table-header-content">Resolution</span></th></tr><tr
class="rowNormal"><td colspan="1" nowrap>
<a
href="https://issues.apache.org/jira/browse/TAP5-2610?src=confmacro">TAP5-2610</a>
</td><td
colspan="1" rowspan="1" class="jira-macro-table-underline-pdfexport"
style="padding:5px !important;vertical-align: top;">
Modified: websites/production/tapestry/content/release-upgrade-faq.html
==============================================================================
--- websites/production/tapestry/content/release-upgrade-faq.html (original)
+++ websites/production/tapestry/content/release-upgrade-faq.html Fri May 1
01:25:19 2020
@@ -143,11 +143,11 @@
<!-- /// Content Start -->
<div id="content">
<div id="ConfluenceContent"><h1
id="ReleaseUpgradeFAQ-ReleaseUpgrade">Release Upgrade</h1><p>Main Article: <a
href="release-upgrade-faq.html">Release Upgrade FAQ</a></p><h2
id="ReleaseUpgradeFAQ-Contents">Contents</h2><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1588292612512 {padding: 0px;}
-div.rbtoc1588292612512 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588292612512 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588296150218 {padding: 0px;}
+div.rbtoc1588296150218 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588296150218 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1588292612512">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588296150218">
<ul class="toc-indentation"><li><a
href="#ReleaseUpgradeFAQ-WhydoIgetanexceptionaboutorg.apache.tapestry5.internal.services.RequestPathOptimizerafterupgradingto5.2?">Why
do I get an exception about
org.apache.tapestry5.internal.services.RequestPathOptimizer after upgrading to
5.2?</a></li></ul>
</div><h2
id="ReleaseUpgradeFAQ-WhydoIgetanexceptionaboutorg.apache.tapestry5.internal.services.RequestPathOptimizerafterupgradingto5.2?">Why
do I get an exception about
org.apache.tapestry5.internal.services.RequestPathOptimizer after upgrading to
5.2?</h2><p>Although Tapestry works very hard to keep backwards compatibility
between releases for <em>public</em> APIs, all <em>internal</em> APIs are
subject to change. This error is commonly due to the use of the ChenilleKit
library, which makes use of some internal APIs. You must also upgrade your
ChenilleKit dependency when moving from Tapestry 5.1 to 5.2 or later. See the
<a class="external-link"
href="http://tapestry.markmail.org/thread/3cj2wuvl4idnpmjr"
rel="nofollow">complete discussion of this from the Tapestry user mailing
list</a>.</p></div>
</div>
Modified: websites/production/tapestry/content/request-processing-faq.html
==============================================================================
--- websites/production/tapestry/content/request-processing-faq.html (original)
+++ websites/production/tapestry/content/request-processing-faq.html Fri May 1
01:25:19 2020
@@ -143,11 +143,11 @@
<!-- /// Content Start -->
<div id="content">
<div id="ConfluenceContent"><h1
id="RequestProcessingFAQ-RequestProcessing">Request Processing</h1><h2
id="RequestProcessingFAQ-Contents">Contents</h2><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1588292630615 {padding: 0px;}
-div.rbtoc1588292630615 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588292630615 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588296164925 {padding: 0px;}
+div.rbtoc1588296164925 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588296164925 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1588292630615">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588296164925">
<ul class="toc-indentation"><li><a
href="#RequestProcessingFAQ-HowdoIgetTapestrytonothandlearequest?">How do I get
Tapestry to not handle a request?</a></li></ul>
</div><h2 id="RequestProcessingFAQ-HowdoIgetTapestrytonothandlearequest?">How
do I get Tapestry to <strong>not</strong> handle a request?</h2><p>Often, when
<a href="integration-with-existing-applications.html">integrating with outside
libraries, or working with legacy code</a>, you will want Tapestry to ignore a
request and let the normal servlet or other processing handle the
request.</p><p>The easy way to do this is to contribute a regular expression to
the <a href="configuration.html">IgnoredPathsFilter service</a>, whose job is
to exclude some requests.</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<pre><code class="language-java">public static void
contributeIgnoredPathsFilter(Configuration<String> configuration)
Modified: websites/production/tapestry/content/runtime-exceptions.html
==============================================================================
--- websites/production/tapestry/content/runtime-exceptions.html (original)
+++ websites/production/tapestry/content/runtime-exceptions.html Fri May 1
01:25:19 2020
@@ -196,11 +196,11 @@
<p>Feedback is vitally important when developing an application, and that is
one of the areas where Tapestry has always excelled.</p><p>Especially during
development, requests can fail. There can be errors in templates, broken code
in your application, or something unexpected.</p><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1588292626420 {padding: 0px;}
-div.rbtoc1588292626420 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588292626420 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588296162263 {padding: 0px;}
+div.rbtoc1588296162263 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588296162263 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1588292626420">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588296162263">
<ul class="toc-indentation"><li><a
href="#RuntimeExceptions-Build-inExceptionReportPage">Build-in Exception Report
Page</a></li><li><a href="#RuntimeExceptions-AjaxDetailedExceptionReports">Ajax
Detailed Exception Reports</a></li><li><a
href="#RuntimeExceptions-DetailedExceptionReportFiles">Detailed Exception
Report Files</a></li><li><a
href="#RuntimeExceptions-OverridingtheHandlingofSpecificExceptions">Overriding
the Handling of Specific Exceptions</a></li></ul>
</div><h2 id="RuntimeExceptions-Build-inExceptionReportPage">Build-in
Exception Report Page</h2><p>Tapestry has a built-in exception report page that
captures an amazing wealth of information:</p><p><span
class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img
class="confluence-embedded-image confluence-content-image-border" width="500"
src="runtime-exceptions.data/Exception_Stack_Trace.png"></span></p><p><span
class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img
class="confluence-embedded-image confluence-content-image-border" width="500"
src="runtime-exceptions.data/Exception_Request.png"></span></p><p><span
class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img
class="confluence-embedded-image confluence-content-image-border" height="443"
width="500"
src="runtime-exceptions.data/Application_Exception.png"></span></p><p>This
exception report features:</p><ul><li>The full stack of exceptions, top to
bottom.</li><
li>All non-null properties of each exception.</li><li>The stack
trace <em>at the deepest
level</em>.</li><li>Key <strong>request</strong> properties, header,
attributes, and
parameters.</li><li>Key <strong>session</strong><em> </em>propertes</li><li>A
break down of the <em>thread</em> in your application</li><li>A listing
of all JVM System properties</li></ul><h2
id="RuntimeExceptions-AjaxDetailedExceptionReports">Ajax Detailed Exception
Reports</h2><p>A similar detailed exception report is also built-in to
Tapestry's Ajax support. When an Ajax request fails, Tapestry's client-side
code will create an <iframe> to present this same
information:</p><p><span class="confluence-embedded-file-wrapper
confluence-embedded-manual-size"><img class="confluence-embedded-image
confluence-content-image-border" height="359" width="500"
src="runtime-exceptions.data/Exception_Ajax.png"></span></p><h2
id="RuntimeExceptions-DetailedExceptionReportFiles">Detailed Exceptio
n Report Files</h2><p>In addition, Tapestry will write a text file for the
exception with a similar level of detail. The default location for the detailed
exception report files is a relative directory <em>build/exceptions</em>. You
can configure the location by setting <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/SymbolConstants.html#EXCEPTION_REPORTS_DIR">SymbolConstants.EXCEPTION_REPORTS_DIR</a>.</p><p>If
you want to turn off the writing of detailed exception reports files to the
file system, you can add the following to your application module (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><code class="language-java"> /**
Modified: websites/production/tapestry/content/security-faq.html
==============================================================================
--- websites/production/tapestry/content/security-faq.html (original)
+++ websites/production/tapestry/content/security-faq.html Fri May 1 01:25:19
2020
@@ -143,11 +143,11 @@
<!-- /// Content Start -->
<div id="content">
<div id="ConfluenceContent"><h1
id="SecurityFAQ-Security">Security</h1><p>Main Article: <a
href="security.html">Security</a></p><h2
id="SecurityFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1588292617968 {padding: 0px;}
-div.rbtoc1588292617968 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588292617968 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588296154126 {padding: 0px;}
+div.rbtoc1588296154126 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588296154126 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1588292617968">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588296154126">
<ul class="toc-indentation"><li><a
href="#SecurityFAQ-Thebuilt-inDashboardpagearevisibleinmyproductionapplicationandIdon'twantthemtobe,whatcanIdo?">The
built-in Dashboard page are visible in my production application and I don't
want them to be, what can I do?</a></li></ul>
</div><div class="aui-label" style="float:right" title="Related Articles">
Modified: websites/production/tapestry/content/session-storage.html
==============================================================================
--- websites/production/tapestry/content/session-storage.html (original)
+++ websites/production/tapestry/content/session-storage.html Fri May 1
01:25:19 2020
@@ -189,11 +189,11 @@
<p>Ordinary <a href="persistent-page-data.html">page-persistent
fields</a></p><p>won't work for this, since persistent fields are available
only to a specific page, not shared across multiple pages.</p><p>Tapestry
provides two mechanisms for storing such data: Session State Objects and
Session Attributes. When deciding between the two, it's best to use Session
State Objects for complex objects, and Session Attributes for simple
types.</p><h2 id="SessionStorage-SessionStateObjects">Session State
Objects</h2><p>With a Session State Object (SSO), the value is automatically
stored outside the page; with the default storage strategy, it is stored in the
session. Such a value is global to all pages <em>for the same user</em>, but is
stored separately for different users.</p><p>A field holding an SSO is marked
with the @<a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/SessionState.html">SessionState</a>
annotation.</p><div class="na
vmenu" style="float:right; background:white; margin:3px; padding:3px">
<div class="panel" style="border-width: 1px;"><div class="panelHeader"
style="border-bottom-width: 1px;"><b>Contents</b></div><div
class="panelContent">
<style type="text/css">/*<![CDATA[*/
-div.rbtoc1588292652906 {padding: 0px;}
-div.rbtoc1588292652906 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588292652906 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588296181104 {padding: 0px;}
+div.rbtoc1588296181104 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588296181104 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1588292652906">
+/*]]>*/</style><div class="toc-macro rbtoc1588296181104">
<ul class="toc-indentation"><li>Related Articles</li></ul>
<ul><li><a href="#SessionStorage-SessionStateObjects">Session State Objects</a>
<ul class="toc-indentation"><li><a
href="#SessionStorage-Pitfalls">Pitfalls</a></li><li><a
href="#SessionStorage-CheckforCreation">Check for Creation</a></li><li><a
href="#SessionStorage-PersistenceStrategies">Persistence
Strategies</a></li><li><a href="#SessionStorage-ConfiguringSSOs">Configuring
SSOs</a></li></ul>
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 May 1
01:25:19 2020
@@ -143,11 +143,11 @@
<!-- /// Content Start -->
<div id="content">
<div id="ConfluenceContent"><h1
id="SpecificErrorsFAQ-SpecificErrors">Specific Errors</h1><h2
id="SpecificErrorsFAQ-Contents">Contents</h2><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1588292633554 {padding: 0px;}
-div.rbtoc1588292633554 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588292633554 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588296167609 {padding: 0px;}
+div.rbtoc1588296167609 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588296167609 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1588292633554">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588296167609">
<ul class="toc-indentation"><li><a
href="#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?</a></li><li><a
href="#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?</a></li><li><a
href="#SpecificErrorsFAQ-MyapplicationfailswiththeerrorPermGen,howdoIfixthis?">My
application fails with the error PermGen, how do I fix this?</a></li><li><a
href="#SpecificErrorsFAQ-WhydoIsometimesgetajava.lang.NoSuchMethodErrorexceptionafterreloadingmypage?">Why
do I sometimes get a java.lang.NoSuchMethodError exception after reloading m
y page?</a></li><li><a
href="#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"?</a></li></ul>
</div><div class="aui-label" style="float:right" title="Related Articles">
Modified:
websites/production/tapestry/content/tapestry-inversion-of-control-faq.html
==============================================================================
--- websites/production/tapestry/content/tapestry-inversion-of-control-faq.html
(original)
+++ websites/production/tapestry/content/tapestry-inversion-of-control-faq.html
Fri May 1 01:25:19 2020
@@ -143,11 +143,11 @@
<!-- /// Content Start -->
<div id="content">
<div id="ConfluenceContent"><h1
id="TapestryInversionofControlFAQ-TapestryInversionofControlContainer">Tapestry
Inversion of Control Container</h1><p>Main article: <a
href="tapestry-inversion-of-control-faq.html">Tapestry IoC</a></p><h2
id="TapestryInversionofControlFAQ-Contents">Contents</h2><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1588292533787 {padding: 0px;}
-div.rbtoc1588292533787 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588292533787 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588296070183 {padding: 0px;}
+div.rbtoc1588296070183 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588296070183 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1588292533787">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588296070183">
<ul class="toc-indentation"><li><a
href="#TapestryInversionofControlFAQ-WhydoIneedtodefineaninterfaceformyservices?Whycan'tIjustusetheclassitself?">Why
do I need to define an interface for my services? Why can't I just use the
class itself?</a></li><li><a
href="#TapestryInversionofControlFAQ-Myservicestartsathread;howdoIknowwhentheapplicationisshuttingdown,tostopthatthread?">My
service starts a thread; how do I know when the application is shutting down,
to stop that thread?</a></li><li><a
href="#TapestryInversionofControlFAQ-HowdoImakemyservicestartupwiththerestoftheapplication,ratherthanlazily?">How
do I make my service startup with the rest of the application, rather than
lazily?</a></li></ul>
</div><div class="aui-label" style="float:right" title="Related Articles">
Modified: websites/production/tapestry/content/templating-and-markup-faq.html
==============================================================================
--- websites/production/tapestry/content/templating-and-markup-faq.html
(original)
+++ websites/production/tapestry/content/templating-and-markup-faq.html Fri May
1 01:25:19 2020
@@ -143,11 +143,11 @@
<!-- /// Content Start -->
<div id="content">
<div id="ConfluenceContent"><h1
id="TemplatingandMarkupFAQ-TemplatingandMarkup">Templating and
Markup</h1><p>Main Article: <a href="component-templates.html">Component
Templates</a></p><h2
id="TemplatingandMarkupFAQ-Contents">Contents</h2><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1588292635298 {padding: 0px;}
-div.rbtoc1588292635298 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588292635298 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588296169354 {padding: 0px;}
+div.rbtoc1588296169354 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588296169354 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1588292635298">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588296169354">
<ul class="toc-indentation"><li><a
href="#TemplatingandMarkupFAQ-WhydoIgetaSAXParseExceptionwhenIuseanHTMLentity,suchas&nbsp;inmytemplate?">Why
do I get a SAXParseException when I use an HTML entity, such as &nbsp; in
my template?</a></li><li><a
href="#TemplatingandMarkupFAQ-Whydosomeimagesinmypageshowupasbrokenlinks?">Why
do some images in my page show up as broken links?</a></li><li><a
href="#TemplatingandMarkupFAQ-What'sthedifferencebetweenidandt:id?">What's the
difference between id and t:id?</a></li><li><a
href="#TemplatingandMarkupFAQ-WhydomyimagesandstylesheetsendupwithaweirdURLslike/assets/meta/zeea17aee26bc0cae/layout/layout.css?">Why
do my images and stylesheets end up with a weird URLs like
/assets/meta/zeea17aee26bc0cae/layout/layout.css?</a></li><li><a
href="#TemplatingandMarkupFAQ-HowdoIaddaCSSclasstoaTapestrycomponent?">How do I
add a CSS class to a Tapestry component?</a></li></ul>
</div><h2
id="TemplatingandMarkupFAQ-WhydoIgetaSAXParseExceptionwhenIuseanHTMLentity,suchas&nbsp;inmytemplate?">Why
do I get a SAXParseException when I use an HTML entity, such as
<code>&nbsp;</code> in my template?</h2><p>Tapestry uses a standard SAX
parser to read your templates. This means that your templates must be <em>well
formed</em>: open and close tags must balance, attribute values must be quoted,
and entities must be declared. The easiest way to accomplish this is to add a
DOCTYPE to your the top of your template:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<pre><code class="language-xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.0 Strict//EN"