Modified: websites/production/tapestry/content/dom.html
==============================================================================
--- websites/production/tapestry/content/dom.html (original)
+++ websites/production/tapestry/content/dom.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,18 @@
DOM -- 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 &
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 @@
<p>The <a shape="rect" class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/MarkupWriter.html">MarkupWriter</a>
interface allows the majority of component code to treat the generation of
output as a stream. In reality, MarkupWriter is more like a cursor into the DOM
tree, and the DOM may ultimately be operated upon in a random access manner
(rather than the serial (or buffered) approach used in Tapestry 4).</p>
-<div class="navmenu" style="float:right; width:30%; background:white;
margin:3px; padding:3px"><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"><b>A Note For Tapestry 4
Users</b><br clear="none">In Tapestry 4, markup generation was based on
generating a character stream. At the lowest level, the fact that the output
was in a markup format such as HTML, XHTML or WML was not known. Higher levels,
such as the IMarkupWriter interface (and its implementations) provide the
concept of markup generation: elements, attributes, start tags and end tags.
This technique breaks down when two elements are peers, and not in a
parent/child relationship. For example, the rendering of a FieldLabel component
is affected by its companion TextField component.
Handling these cases in Tapestry 4 required a number of kludges and special
cases.</td></tr></table></div></div>
+<div class="navmenu" style="float:right; width:30%; background:white;
margin:3px; padding:3px"><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"><b>A
Note For Tapestry 4 Users</b><br clear="none">In Tapestry 4, markup generation
was based on generating a character stream. At the lowest level, the fact that
the output was in a markup format such as HTML, XHTML or WML was not known.
Higher levels, such as the IMarkupWriter interface (and its implementations)
provide the concept of markup generation: elements, attributes, start tags and
end tags. This technique breaks down when two elements are peers, and not in a
parent/child relationship. For example, the rendering of a FieldLabel component
is affecte
d by its companion TextField component. Handling these cases in Tapestry 4
required a number of kludges and special cases.</td></tr></table></div></div>
<h1><a shape="rect" name="DOM-DOMClasses"></a>DOM Classes</h1>
@@ -109,11 +120,11 @@
<p>Calls to element() create a new element within the tree, and may provide
attributes for the new element as well. Calls to write(), writeln() and
writef() write text nodes within the current element. <em>Every call to
element() should be matched with a call to end()</em>, which is used to move
the current node up one level.</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[
- writer.element(<span class="code-quote">"img"</span>, <span
class="code-quote">"src"</span>, <span class="code-quote">"icon.png"</span>,
<span class="code-quote">"width"</span>, 20, <span
class="code-quote">"height"</span>, 20, alt, <span
class="code-quote">"*"</span>);
+ writer.element("img", "src", "icon.png", "width", 20, "height", 20, alt,
"*");
writer.end();
-</pre>
+]]></script>
</div></div>
<p>Note that end() must be called here, even though the <img> element is
empty (has no body). If the call to end() is omitted, then later elements
created by calls to element() will be nested <em>inside</em> the <img>
element, which is not desired.</p>
@@ -121,18 +132,18 @@
<p>Again, <b>every call to element() must be matched with a call to
end()</b>:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent
panelContent">
-<pre class="code-java">
- writer.element(<span class="code-quote">"select"</span>, <span
class="code-quote">"name"</span>, <span class="code-quote">"choice"</span>);
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
+ writer.element("select", "name", "choice");
- <span class="code-keyword">for</span> (<span
class="code-object">String</span> name : optionsNames)
+ for (String name : optionsNames)
{
- writer.element(<span class="code-quote">"option"</span>);
+ writer.element("option");
writer.write(name);
writer.end();
}
writer.end();
-</pre>
+]]></script>
</div></div>
<h2><a shape="rect" name="DOM-attributes%28%29"></a>attributes()</h2>
@@ -160,11 +171,11 @@
<p>Adds an XML comment. The comment delimiters will be supplied by
Tapestry:</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[
- writer.comment(<span class="code-quote">"Start of JS Menu code"</span>);
+ writer.comment("Start of JS Menu code");
-</pre>
+]]></script>
</div></div>
</div>
@@ -172,7 +183,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']);
@@ -183,7 +194,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&page=http://tapestry.apache.org/dom.html"
async="true">
Modified: websites/production/tapestry/content/download.html
==============================================================================
--- websites/production/tapestry/content/download.html (original)
+++ websites/production/tapestry/content/download.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,19 @@
Download -- 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 &
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>
@@ -58,7 +70,7 @@
<div id="content">
<div id="ConfluenceContent"><p>Tapestry can be downloaded in either binary or
source format.</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">The
easiest way to download Tapestry and its dependencies is using Maven, as
described in <a shape="rect" href="getting-started.html" title="Getting
Started">Getting Started</a>.</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">The
easiest way to download Tapestry and its dependencies is using Maven, as
described in <a shape="rect" href="getting-started.html" title="Getting
Started">Getting Started</a>.</td></tr></table></div>
<p>See the <a shape="rect" href="release-notes.html" title="Release
Notes">Release Notes</a> for differences between versions and how to
upgrade.</p>
@@ -78,13 +90,13 @@
</div>
</td><td colspan="1" rowspan="1" valign="top" class="confluenceTd">
<div class="code panel" style="border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width: 1px;"><b>Maven
Dependency</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag"><dependency></span>
- <span class="code-tag"><groupId></span>org.apache.tapestry<span
class="code-tag"></groupId></span>
- <span class="code-tag"><artifactId></span>tapestry-core<span
class="code-tag"></artifactId></span>
- <span class="code-tag"><version></span>5.3.7<span
class="code-tag"></version></span>
-<span class="code-tag"></dependency></span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
+<dependency>
+ <groupId>org.apache.tapestry</groupId>
+ <artifactId>tapestry-core</artifactId>
+ <version>5.3.7</version>
+</dependency>
+]]></script>
</div></div></td></tr></tbody></table>
<h2><a shape="rect" name="Download-Tapestry5.2.x"></a>Tapestry 5.2.x</h2>
@@ -97,13 +109,13 @@
</div>
</td><td colspan="1" rowspan="1" valign="top" class="confluenceTd">
<div class="code panel" style="border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width: 1px;"><b>Maven
Dependency</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag"><dependency></span>
- <span class="code-tag"><groupId></span>org.apache.tapestry<span
class="code-tag"></groupId></span>
- <span class="code-tag"><artifactId></span>tapestry-core<span
class="code-tag"></artifactId></span>
- <span class="code-tag"><version></span>5.2.6<span
class="code-tag"></version></span>
-<span class="code-tag"></dependency></span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
+<dependency>
+ <groupId>org.apache.tapestry</groupId>
+ <artifactId>tapestry-core</artifactId>
+ <version>5.2.6</version>
+</dependency>
+]]></script>
</div></div></td></tr></tbody></table>
<h2><a shape="rect" name="Download-Tapestry5.1.x"></a>Tapestry 5.1.x</h2>
@@ -118,13 +130,13 @@
</td><td colspan="1" rowspan="1" valign="top" class="confluenceTd">
<div class="code panel" style="border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width: 1px;"><b>Maven
Dependency</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag"><dependency></span>
- <span class="code-tag"><groupId></span>org.apache.tapestry<span
class="code-tag"></groupId></span>
- <span class="code-tag"><artifactId></span>tapestry-core<span
class="code-tag"></artifactId></span>
- <span class="code-tag"><version></span>5.1.0.5<span
class="code-tag"></version></span>
-<span class="code-tag"></dependency></span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
+<dependency>
+ <groupId>org.apache.tapestry</groupId>
+ <artifactId>tapestry-core</artifactId>
+ <version>5.1.0.5</version>
+</dependency>
+]]></script>
</div></div></td></tr></tbody></table>
<h2><a shape="rect" name="Download-Tapestry4.x"></a>Tapestry 4.x</h2>
@@ -155,9 +167,9 @@
<p>The source code can be checked out anonymously from Git with the <a
shape="rect" class="external-link" href="http://gitref.org/creating/#clone"
>clone</a> command:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent
panelContent">
-<pre class="code-java">
-git clone http:<span
class="code-comment">//git-wip-us.apache.org/repos/asf/tapestry-5.git</span>
-</pre>
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
+git clone http://git-wip-us.apache.org/repos/asf/tapestry-5.git
+]]></script>
</div></div>
<p>(See <a shape="rect" href="building-tapestry-from-source.html"
title="Building Tapestry from Source">Building Tapestry from Source</a> for
more info.)</p>
@@ -171,7 +183,7 @@ git clone http:<span class="code-commen
<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']);
@@ -182,7 +194,7 @@ git clone http:<span class="code-commen
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&page=http://tapestry.apache.org/download.html"
async="true">
Modified: websites/production/tapestry/content/downloadboxes.html
==============================================================================
--- websites/production/tapestry/content/downloadboxes.html (original)
+++ websites/production/tapestry/content/downloadboxes.html Sun Sep 22 22:21:21
2013
@@ -24,7 +24,10 @@
downloadBoxes -- 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 &
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>
@@ -56,7 +59,7 @@
</div>
<div id="content">
-<div id="ConfluenceContent">
+<div id="ConfluenceContent"><p>
<style>
@@ -178,7 +181,7 @@
</style>
-<div align="center" id="infoWrapper">
+</p><div align="center" id="infoWrapper">
<div id="downloadBox">
<div class="downloadPluginWrapper">
<div id="download">
@@ -213,7 +216,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']);
@@ -224,7 +227,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&page=http://tapestry.apache.org/downloadboxes.html"
async="true">
Modified: websites/production/tapestry/content/enum-parameter-recipe.html
==============================================================================
--- websites/production/tapestry/content/enum-parameter-recipe.html (original)
+++ websites/production/tapestry/content/enum-parameter-recipe.html Sun Sep 22
22:21:21 2013
@@ -24,7 +24,18 @@
Enum Parameter Recipe -- 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 &
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="switching-cases.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="switching-cases.html">Switching Cases</a> </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%"> <a shape="rect"
href="error-page-recipe.html">Error Page Recipe</a></td><td colspan="1"
rowspan="1" class="ScrollbarNextIcon"><a shape="rect"
href="error-page-recipe.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="switching-cases.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="switching-cases.html">Switching
Cases</a> </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%"> <a shape="rect"
href="error-page-recipe.html">Error Page Recipe</a></td><td colspan="1"
rowspan="1" class="ScrollbarNextIcon"><a shape="rect"
href="error-page-recipe.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="EnumParameterRecipe-EnumComponentParameter"></a>Enum
Component Parameter</h1>
@@ -76,40 +87,40 @@ table.ScrollbarTable td.ScrollbarNextIco
<p>Let's start with the enum type itself:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width:
1px;"><b>BlankOption.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">public</span> <span
class="code-keyword">enum</span> BlankOption
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
+public enum BlankOption
{
/**
- * Always include the blank option, even <span
class="code-keyword">if</span> the underlying property is required.
+ * Always include the blank option, even if the underlying property is
required.
*/
ALWAYS,
/**
- * Never include the blank option, even <span
class="code-keyword">if</span> the underlying property is optional.
+ * Never include the blank option, even if the underlying property is
optional.
*/
NEVER,
/**
- * The <span class="code-keyword">default</span>: include the blank option
<span class="code-keyword">if</span> the underlying property is optional.
+ * The default: include the blank option if the underlying property is
optional.
*/
AUTO;
}
-</pre>
+]]></script>
</div></div>
<p>Next, we define the parameter:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width: 1px;"><b>Select.java
(partial)</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
/**
* Controls whether an additional blank option is provided. The blank
option precedes all other options and is never
- * selected. The value <span class="code-keyword">for</span> the blank
option is always the empty string, the label may be the blank string; the
+ * selected. The value for the blank option is always the empty string,
the label may be the blank string; the
* label is from the blankLabel parameter (and is often also the empty
string).
*/
- @Parameter(value = <span class="code-quote">"auto"</span>, defaultPrefix =
BindingConstants.LITERAL)
- <span class="code-keyword">private</span> BlankOption blankOption;
-</pre>
+ @Parameter(value = "auto", defaultPrefix = BindingConstants.LITERAL)
+ private BlankOption blankOption;
+]]></script>
</div></div>
<p>Note the use of literal as the default prefix; this allows us to use the
name of the option in our template, e.g. <tt><t:select blankoption="never"
.../></tt>. Without the default prefix setting, "never" would be
interpreted as a property expression (and you'd see an error when you loaded
the page).</p>
@@ -117,8 +128,8 @@ table.ScrollbarTable td.ScrollbarNextIco
<p>The final piece of the puzzle is to inform Tapestry how to convert from a
string, such as "never", to a BlankOption value.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width: 1px;"><b>TapestryModule.java
(partial)</b></div><div class="codeContent panelContent">
-<pre class="code-java">
- <span class="code-keyword">public</span> <span
class="code-keyword">static</span> void
contributeTypeCoercer(Configuration<CoercionTuple> configuration)
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
+ public static void
contributeTypeCoercer(Configuration<CoercionTuple> configuration)
{
. . .
@@ -127,11 +138,11 @@ table.ScrollbarTable td.ScrollbarNextIco
. . .
}
- <span class="code-keyword">private</span> <span
class="code-keyword">static</span> <T <span
class="code-keyword">extends</span> Enum> void
add(Configuration<CoercionTuple> configuration, <span
class="code-object">Class</span><T> enumType)
+ private static <T extends Enum> void
add(Configuration<CoercionTuple> configuration, Class<T> enumType)
{
- configuration.add(CoercionTuple.create(<span
class="code-object">String</span>.class, enumType,
StringToEnumCoercion.create(enumType)));
+ configuration.add(CoercionTuple.create(String.class, enumType,
StringToEnumCoercion.create(enumType)));
}
-</pre>
+]]></script>
</div></div>
<p>The TypeCoercer service is ultimately responsible for converting the string
to a BlankOption, but we have to tell it how, by contributing an appropriate
CoercionTuple. The CoercionTuple identifies the source and target types (String
and BlankOption), and an object to perform the coercion (an instance of
StringToEnumCoercion, via the <tt>create()</tt> static method).</p></div>
@@ -139,7 +150,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']);
@@ -150,7 +161,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&page=http://tapestry.apache.org/enum-parameter-recipe.html"
async="true">
Modified: websites/production/tapestry/content/environmental-services.html
==============================================================================
--- websites/production/tapestry/content/environmental-services.html (original)
+++ websites/production/tapestry/content/environmental-services.html Sun Sep 22
22:21:21 2013
@@ -24,7 +24,18 @@
Environmental Services -- 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 &
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>
@@ -73,20 +84,20 @@
<p>A very common Environmental is <a shape="rect" class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/JavaScriptSupport.html">JavaScriptSupport</a>,
used when generating <a shape="rect" href="javascript.html"
title="JavaScript">client-side JavaScript</a>.</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[
- @Inject @Path(<span
class="code-quote">"${tapestry.scriptaculous}/dragdrop.js"</span>)
- <span class="code-keyword">private</span> Asset dragDropLibrary;
+ @Inject @Path("${tapestry.scriptaculous}/dragdrop.js")
+ private Asset dragDropLibrary;
@Environmental
- <span class="code-keyword">private</span> JavaScriptSupport
javaScriptSupport;
+ private JavaScriptSupport javaScriptSupport;
void setupRender()
{
javaScriptSupport.importJavaScriptLibrary(dragDropLibrary);
}
-</pre>
+]]></script>
</div></div>
<p>Environmental services are, by their nature, per-thread (and therefore
per-request).</p>
@@ -104,15 +115,15 @@
<p>The relevant information could be exposed as an interface, TabModel.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent
panelContent">
-<pre class="code-java">
-<span class="code-keyword">public</span> class TabGroup
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
+public class TabGroup
{
@Inject
- <span class="code-keyword">private</span> Environment environment;
+ private Environment environment;
void beginRender()
{
- environment.push(TabModel.class, <span class="code-keyword">new</span>
TabModelImpl(...));
+ environment.push(TabModel.class, new TabModelImpl(...));
}
void afterRender()
@@ -121,17 +132,17 @@
}
}
-<span class="code-keyword">public</span> class Tab
+public class Tab
{
@Environmental
- <span class="code-keyword">private</span> TabModel model;
+ private TabModel model;
void beginRender(MarkupWriter writer)
{
...
}
}
-</pre>
+]]></script>
</div></div>
<p>Notice that when pushing a value into the Environment, you identify its
type as well as the instance. Environment maintains a number of stacks, one for
each type. Thus, pushing a TabModel into the environment won't disturb the
RenderSupport or other environmentals already there.</p>
@@ -157,12 +168,12 @@
<p>If this is something that will occur frequently, it is possible to create a
service implementation that is "backed" by the Environment. For example,
RenderSupport is accessible as a normal injection, because a service is built
for it in TapestryModule:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent
panelContent">
-<pre class="code-java">
- <span class="code-keyword">public</span> RenderSupport
buildRenderSupport(EnvironmentalShadowBuilder builder)
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
+ public RenderSupport buildRenderSupport(EnvironmentalShadowBuilder builder)
{
- <span class="code-keyword">return</span>
builder.build(RenderSupport.class);
+ return builder.build(RenderSupport.class);
}
-</pre>
+]]></script>
</div></div>
<p>The EnvironmentShadowBuilder service creates a service implementation that
delegates to the proper instance in the environment. The same technique can be
used for your own services and environmentals.</p></div>
@@ -170,7 +181,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']);
@@ -181,7 +192,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&page=http://tapestry.apache.org/environmental-services.html"
async="true">
Modified: websites/production/tapestry/content/error-page-recipe.html
==============================================================================
--- websites/production/tapestry/content/error-page-recipe.html (original)
+++ websites/production/tapestry/content/error-page-recipe.html Sun Sep 22
22:21:21 2013
@@ -24,7 +24,19 @@
Error Page Recipe -- 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 &
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,20 +76,20 @@ 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="enum-parameter-recipe.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="enum-parameter-recipe.html">Enum Parameter Recipe</a> </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%"> <a shape="rect"
href="extending-the-if-component.html">Extending the If Component</a></td><td
colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect"
href="extending-the-if-component.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="enum-parameter-recipe.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="enum-parameter-recipe.html">Enum Parameter
Recipe</a> </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%"> <a shape="rect"
href="extending-the-if-component.html">Extending the If Component</a></td><td
colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect"
href="extending-the-
if-component.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 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>
@@ -89,37 +101,37 @@ table.ScrollbarTable td.ScrollbarNextIco
<p>Simply upgrade your application web.xml to the 2.4 version, and make a
couple of changes:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width: 1px;"><b>web.xml</b></div><div
class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag"><?xml version=<span class="code-quote">"1.0"</span>
encoding=<span class="code-quote">"UTF-8"</span>?></span>
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns=<span
class="code-quote">"http://java.sun.com/xml/ns/j2ee"</span> <span
class="code-keyword">xmlns:xsi</span>=<span
class="code-quote">"http://www.w3.org/2001/XMLSchema-instance"</span>
- xsi:schemaLocation=<span class="code-quote">"http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</span>
- version=<span class="code-quote">"2.4"</span>>
-
- <span class="code-tag"><display-name></span>Cookbook<span
class="code-tag"></display-name></span>
- <span class="code-tag"><context-param></span>
- <span class="code-tag"><param-name></span>tapestry.app-package<span
class="code-tag"></param-name></span>
- <span class="code-tag"><param-value></span>com.example.cookbook<span
class="code-tag"></param-value></span>
- <span class="code-tag"></context-param></span>
-
- <span class="code-tag"><filter></span>
- <span class="code-tag"><filter-name></span>app<span
class="code-tag"></filter-name></span>
- <span
class="code-tag"><filter-class></span>org.apache.tapestry5.TapestryFilter<span
class="code-tag"></filter-class></span>
- <span class="code-tag"></filter></span>
- <span class="code-tag"><filter-mapping></span>
- <span class="code-tag"><filter-name></span>app<span
class="code-tag"></filter-name></span>
- <span class="code-tag"><url-pattern></span>/*<span
class="code-tag"></url-pattern></span>
- <span class="code-tag"><dispatcher></span>REQUEST<span
class="code-tag"></dispatcher></span>
- <span class="code-tag"><dispatcher></span>ERROR<span
class="code-tag"></dispatcher></span>
- <span class="code-tag"></filter-mapping></span>
-
- <span class="code-tag"><error-page></span>
- <span class="code-tag"><error-code></span>404<span
class="code-tag"></error-code></span>
- <span class="code-tag"><location></span>/error404<span
class="code-tag"></location></span>
- <span class="code-tag"></error-page></span>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+ version="2.4">
+
+ <display-name>Cookbook</display-name>
+ <context-param>
+ <param-name>tapestry.app-package</param-name>
+ <param-value>com.example.cookbook</param-value>
+ </context-param>
+
+ <filter>
+ <filter-name>app</filter-name>
+
<filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
+ </filter>
+ <filter-mapping>
+ <filter-name>app</filter-name>
+ <url-pattern>/*</url-pattern>
+ <dispatcher>REQUEST</dispatcher>
+ <dispatcher>ERROR</dispatcher>
+ </filter-mapping>
+
+ <error-page>
+ <error-code>404</error-code>
+ <location>/error404</location>
+ </error-page>
-<span class="code-tag"></web-app></span>
-</pre>
+</web-app>
+]]></script>
</div></div>
<p>Tapestry's filter must be marked as a handler for both standard requests
and errors. That's accomplished with the <tt><dispatcher></tt> elements
inside the <tt><filter-mapping></tt> section.</p>
@@ -129,60 +141,60 @@ table.ScrollbarTable td.ScrollbarNextIco
<p>We'll create a simple Error404 page, one that displays a message and (in
development mode) displays the details about the incoming request.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width: 1px;"><b>Error404.tml</b></div><div
class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag"><html <span
class="code-keyword">xmlns:t</span>=<span
class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"</span>></span>
- <span class="code-tag"><head></span>
- <span class="code-tag"><title></span>Resource not found.<span
class="code-tag"></title></span>
- <span class="code-tag"></head></span>
- <span class="code-tag"><body></span>
-
- <span class="code-tag"><h1></span>Page or resource not found.<span
class="code-tag"></h1></span>
-
- <span class="code-tag"><t:if test=<span class="code-quote">"!
productionMode"</span>></span>
- <span class="code-tag"><t:renderobject object=<span
class="code-quote">"request"</span>/></span>
- <span class="code-tag"></t:if></span>
-
- <span class="code-tag"></body></span>
-<span class="code-tag"></html></span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
+<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
+ <head>
+ <title>Resource not found.</title>
+ </head>
+ <body>
+
+ <h1>Page or resource not found.</h1>
+
+ <t:if test="! productionMode">
+ <t:renderobject object="request"/>
+ </t:if>
+
+ </body>
+</html>
+]]></script>
</div></div>
<p>The page simply makes the request and productionMode properties
available:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader
panelHeader" style="border-bottom-width: 1px;"><b>Error404.java</b></div><div
class="codeContent panelContent">
-<pre class="code-java">
-<span class="code-keyword">package</span> com.example.cookbook.pages;
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
+package com.example.cookbook.pages;
-<span class="code-keyword">import</span> org.apache.tapestry5.SymbolConstants;
-<span class="code-keyword">import</span>
org.apache.tapestry5.annotations.Property;
-<span class="code-keyword">import</span>
org.apache.tapestry5.ioc.annotations.Inject;
-<span class="code-keyword">import</span>
org.apache.tapestry5.ioc.annotations.Symbol;
-<span class="code-keyword">import</span> org.apache.tapestry5.services.Request;
+import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.ioc.annotations.Inject;
+import org.apache.tapestry5.ioc.annotations.Symbol;
+import org.apache.tapestry5.services.Request;
-<span class="code-keyword">public</span> class Error404
+public class Error404
{
@Property
@Inject
- <span class="code-keyword">private</span> Request request;
+ private Request request;
@Property
@Inject
@Symbol(SymbolConstants.PRODUCTION_MODE)
- <span class="code-keyword">private</span> <span
class="code-object">boolean</span> productionMode;
+ private boolean productionMode;
}
-</pre>
+]]></script>
</div></div>
<p>The end-result, in when <em>not</em> in production mode, looks like
this:</p>
-<p><span class="image-wrap" style=""><img
src="error-page-recipe.data/Snapz+Pro+XScreenSnapz002.png" style="border: 0px
solid black"></span></p>
+<p><span class="image-wrap" style=""><img
src="error-page-recipe.data/Snapz-Pro-XScreenSnapz002.png" style="border: 0px
solid black"></span></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">An
issue with an application that has a root Index page is that any invalid path,
which would normally generate a 404 error, is instead routed to the Index page
(because the invalid path looks like page's activation context). See <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-2070">Issue
TAP5-2070</a>.</td></tr></table></div></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">An
issue with an application that has a root Index page is that any invalid path,
which would normally generate a 404 error, is instead routed to the Index page
(because the invalid path looks like page's activation context). See <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-2070">Issue
TAP5-2070</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']);
@@ -193,7 +205,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&page=http://tapestry.apache.org/error-page-recipe.html"
async="true">
Added:
websites/production/tapestry/content/exploring-the-project.data/Templates-and-Parameters.png
==============================================================================
Binary file - no diff available.
Propchange:
websites/production/tapestry/content/exploring-the-project.data/Templates-and-Parameters.png
------------------------------------------------------------------------------
svn:mime-type = image/png