<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Guestbook | Apache Wicket</title>
        <meta name="viewport" content="width=device-width, initial-scale=1" />

        <link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
        <link rel="stylesheet" href="/css/style.css" type="text/css" media="screen" />
        <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />

		<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

    </head>

    <body class="">
        <div class="header default">
    <div class="l-container">
<nav class="mainmenu">
    <ul>
		<!-- /start/quickstart.html || /learn/examples/guestbook -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /learn/examples/guestbook -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /learn/examples/guestbook -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /learn/examples/guestbook -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /learn/examples/guestbook -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /community || /learn/examples/guestbook -->
    	<li class=""><a href="/community">Community</a></li>
		<!-- /apache || /learn/examples/guestbook -->
    	<li class=""><a href="/apache">Apache</a></li>
    </ul>
</nav>
        <div class="logo">
    <a href="/"><img src="/img/logo-apachewicket-white.svg" alt="Apache Wicket"></a>
</div>
    </div>
</div>
<main>
    <div class="l-container">
        <header class="l-full preamble">
            <h1>Guestbook</h1>
        </header>
        <section class="l-one-third right">
            <div id="toc" class="toc"><div id="toc-title"><h2>Table of Contents</h2></div><ul><li class="toc--level-1 toc--section-1"><a href="#commentjava"><span class="toc-number">1</span> <span class="toc-text">Comment.java</span></a></li><li class="toc--level-1 toc--section-2"><a href="#guestbookjava"><span class="toc-number">2</span> <span class="toc-text">GuestBook.java</span></a></li><li class="toc--level-1 toc--section-3"><a href="#guestbookhtml"><span class="toc-number">3</span> <span class="toc-text">GuestBook.html</span></a></li><li class="toc--level-1 toc--section-4"><a href="#guestbookapplicationjava"><span class="toc-number">4</span> <span class="toc-text">GuestBookApplication.java</span></a></li><li class="toc--level-1 toc--section-5"><a href="#webxml"><span class="toc-number">5</span> <span class="toc-text">web.xml</span></a></li></ul></div>
        </section>
        <section class="l-two-third left">
            <p>The GuestBook application allows users to enter comments that appear on a
page like a weblog. Drawing the list of comments is very easy with the Wicket
<code class="language-plaintext highlighter-rouge">ListView</code> component. This example also gives an impression of what form
handling is like.</p>
<p><img src="guestbook.png" alt="Guestbook screenshot" /></p>
<p>As with all examples, you have to put all files in the same package
directory. This means putting the markup files and the java files next to one
another. It is possible to alter this behavior, but that is beyond the scope
of this example.</p>
<h2 id="commentjava">Comment.java</h2>
<p>The Comment POJO model is very straightforward:</p>
<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">package</span> <span class="nn">org.apache.wicket.examples.guestbook</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.util.Date</span><span class="o">;</span>  
<span class="kn">import</span> <span class="nn">org.apache.wicket.IClusterable</span><span class="o">;</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Comment</span> <span class="kd">implements</span> <span class="nc">IClusterable</span> <span class="o">{</span>
    <span class="kd">private</span> <span class="nc">String</span> <span class="n">text</span><span class="o">;</span>
    <span class="kd">private</span> <span class="nc">Date</span> <span class="n">date</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Date</span><span class="o">();</span>
    <span class="kd">public</span> <span class="nf">Comment</span><span class="o">()</span> <span class="o">{</span>
    <span class="o">}</span>
    <span class="kd">public</span> <span class="nf">Comment</span><span class="o">(</span><span class="kd">final</span> <span class="nc">Comment</span> <span class="n">comment</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">this</span><span class="o">.</span><span class="na">text</span> <span class="o">=</span> <span class="n">comment</span><span class="o">.</span><span class="na">text</span><span class="o">;</span>
        <span class="k">this</span><span class="o">.</span><span class="na">date</span> <span class="o">=</span> <span class="n">comment</span><span class="o">.</span><span class="na">date</span><span class="o">;</span>
    <span class="o">}</span>
    <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getText</span><span class="o">()</span> <span class="o">{</span>
        <span class="k">return</span> <span class="n">text</span><span class="o">;</span>
    <span class="o">}</span>
    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setText</span><span class="o">(</span><span class="nc">String</span> <span class="n">text</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">this</span><span class="o">.</span><span class="na">text</span> <span class="o">=</span> <span class="n">text</span><span class="o">;</span>
    <span class="o">}</span>
    <span class="kd">public</span> <span class="nc">Date</span> <span class="nf">getDate</span><span class="o">()</span> <span class="o">{</span>
        <span class="k">return</span> <span class="n">date</span><span class="o">;</span>
    <span class="o">}</span>
    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setDate</span><span class="o">(</span><span class="nc">Date</span> <span class="n">date</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">this</span><span class="o">.</span><span class="na">date</span> <span class="o">=</span> <span class="n">date</span><span class="o">;</span>
    <span class="o">}</span>
    <span class="kd">public</span> <span class="nc">String</span> <span class="nf">toString</span><span class="o">()</span> <span class="o">{</span>
        <span class="k">return</span> <span class="s">"[Comment date = "</span> <span class="o">+</span> <span class="n">date</span> <span class="o">+</span> <span class="s">", text = "</span> <span class="o">+</span> <span class="n">text</span> <span class="o">+</span> <span class="s">"]"</span><span class="o">;</span>
    <span class="o">}</span>
<span class="o">}</span></code></pre></figure>
<h2 id="guestbookjava">GuestBook.java</h2>
<p>In the file <code class="language-plaintext highlighter-rouge">GuestBook.java</code> we have put the Java component code for the
guestbook page. This is the homepage for the guestbook application. The page
consists of a form for entering new items to the guestbook and a list of
repeating markup for showing the guestbook entries.</p>
<p>The <code class="language-plaintext highlighter-rouge">GuestBook</code> constructor adds a <code class="language-plaintext highlighter-rouge">CommentForm</code> and a <code class="language-plaintext highlighter-rouge">ListView</code> of
the comments. Notice how the model is passed in as the second argument to the
<code class="language-plaintext highlighter-rouge">ListView</code> constructor.</p>
<p>Then as the view renders, the <code class="language-plaintext highlighter-rouge">populateItem</code> method is called passing in a
<code class="language-plaintext highlighter-rouge">ListItem</code> container for the current row in the list.</p>
<p>The implementation below obtains the <code class="language-plaintext highlighter-rouge">Comment</code> POJO from the list item and
adds label components for the date and text of the <code class="language-plaintext highlighter-rouge">Comment</code>. This is all
accomplished in just a few lines of code.</p>
<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">package</span> <span class="nn">org.apache.wicket.examples.guestbook</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.util.ArrayList</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.util.Collections</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.util.Date</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">java.util.List</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.commons.lang.StringUtils</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.examples.WicketExamplePage</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.markup.html.basic.Label</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.markup.html.basic.MultiLineLabel</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.markup.html.form.Form</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.markup.html.form.TextArea</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.markup.html.form.TextField</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.markup.html.list.ListItem</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.markup.html.list.PropertyListView</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.model.CompoundPropertyModel</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.util.value.ValueMap</span><span class="o">;</span>
<span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">GuestBook</span> <span class="kd">extends</span> <span class="nc">WicketExamplePage</span> <span class="o">{</span>
    <span class="cm">/** A global list of all comments from all users across all sessions */</span>
    <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">Comment</span><span class="o">&gt;</span> <span class="n">commentList</span> <span class="o">=</span> <span class="nc">Collections</span><span class="o">.</span><span class="na">synchronizedList</span><span class="o">(</span><span class="k">new</span> <span class="nc">ArrayList</span><span class="o">&lt;</span><span class="nc">Comment</span><span class="o">&gt;());</span>
    <span class="cm">/**
     * Constructor that is invoked when page is invoked without a session.
     */</span>
    <span class="kd">public</span> <span class="nf">GuestBook</span><span class="o">()</span> <span class="o">{</span>
        <span class="c1">// Add comment form</span>
        <span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">CommentForm</span><span class="o">(</span><span class="s">"commentForm"</span><span class="o">));</span>
        <span class="c1">// Add commentListView of existing comments</span>
        <span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">PropertyListView</span><span class="o">&lt;</span><span class="nc">Comment</span><span class="o">&gt;(</span><span class="s">"comments"</span><span class="o">,</span> <span class="n">commentList</span><span class="o">)</span> <span class="o">{</span>
            <span class="nd">@Override</span>
            <span class="kd">public</span> <span class="kt">void</span> <span class="nf">populateItem</span><span class="o">(</span><span class="kd">final</span> <span class="nc">ListItem</span><span class="o">&lt;</span><span class="nc">Comment</span><span class="o">&gt;</span> <span class="n">listItem</span><span class="o">)</span> <span class="o">{</span>
                <span class="n">listItem</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">Label</span><span class="o">(</span><span class="s">"date"</span><span class="o">));</span>
                <span class="n">listItem</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">MultiLineLabel</span><span class="o">(</span><span class="s">"text"</span><span class="o">));</span>
            <span class="o">}</span>
        <span class="o">}).</span><span class="na">setVersioned</span><span class="o">(</span><span class="kc">false</span><span class="o">);</span>
    <span class="o">}</span>
    <span class="cm">/**
     * A form that allows a user to add a comment.
     */</span>
    <span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">CommentForm</span> <span class="kd">extends</span> <span class="nc">Form</span><span class="o">&lt;</span><span class="nc">ValueMap</span><span class="o">&gt;</span> <span class="o">{</span>
        <span class="kd">public</span> <span class="nf">CommentForm</span><span class="o">(</span><span class="kd">final</span> <span class="nc">String</span> <span class="n">id</span><span class="o">)</span> <span class="o">{</span>
            <span class="c1">// Construct form with no validation listener</span>
            <span class="kd">super</span><span class="o">(</span><span class="n">id</span><span class="o">,</span> <span class="k">new</span> <span class="nc">CompoundPropertyModel</span><span class="o">&lt;</span><span class="nc">ValueMap</span><span class="o">&gt;(</span><span class="k">new</span> <span class="nc">ValueMap</span><span class="o">()));</span>
            <span class="c1">// this is just to make the unit test happy</span>
            <span class="n">setMarkupId</span><span class="o">(</span><span class="s">"commentForm"</span><span class="o">);</span>
            <span class="c1">// Add text entry widget</span>
            <span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">TextArea</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;(</span><span class="s">"text"</span><span class="o">).</span><span class="na">setType</span><span class="o">(</span><span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">));</span>
            <span class="c1">// Add simple automated spam prevention measure.</span>
            <span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="nc">TextField</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">&gt;(</span><span class="s">"comment"</span><span class="o">).</span><span class="na">setType</span><span class="o">(</span><span class="nc">String</span><span class="o">.</span><span class="na">class</span><span class="o">));</span>
        <span class="o">}</span>
        <span class="cm">/**
         * Show the resulting valid edit
         */</span>
        <span class="nd">@Override</span>
        <span class="kd">public</span> <span class="kd">final</span> <span class="kt">void</span> <span class="nf">onSubmit</span><span class="o">()</span> <span class="o">{</span>
            <span class="nc">ValueMap</span> <span class="n">values</span> <span class="o">=</span> <span class="n">getModelObject</span><span class="o">();</span>
            <span class="c1">// check if the honey pot is filled</span>
            <span class="k">if</span> <span class="o">(</span><span class="nc">StringUtils</span><span class="o">.</span><span class="na">isNotBlank</span><span class="o">((</span><span class="nc">String</span><span class="o">)</span><span class="n">values</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"comment"</span><span class="o">)))</span> <span class="o">{</span>
                <span class="n">error</span><span class="o">(</span><span class="s">"Caught a spammer!!!"</span><span class="o">);</span>
                <span class="k">return</span><span class="o">;</span>
            <span class="o">}</span>
            <span class="c1">// Construct a copy of the edited comment</span>
            <span class="nc">Comment</span> <span class="n">comment</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Comment</span><span class="o">();</span>
            <span class="c1">// Set date of comment to add</span>
            <span class="n">comment</span><span class="o">.</span><span class="na">setDate</span><span class="o">(</span><span class="k">new</span> <span class="nc">Date</span><span class="o">());</span>
            <span class="n">comment</span><span class="o">.</span><span class="na">setText</span><span class="o">((</span><span class="nc">String</span><span class="o">)</span><span class="n">values</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">"text"</span><span class="o">));</span>
            <span class="n">commentList</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="n">comment</span><span class="o">);</span>
            <span class="c1">// Clear out the text component</span>
            <span class="n">values</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="s">"text"</span><span class="o">,</span> <span class="s">""</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">}</span>
    <span class="cm">/**
     * Clears the comments.
     */</span>
    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">clear</span><span class="o">()</span> <span class="o">{</span>
        <span class="n">commentList</span><span class="o">.</span><span class="na">clear</span><span class="o">();</span>
    <span class="o">}</span>
<span class="o">}</span></code></pre></figure>
<p>When the <code class="language-plaintext highlighter-rouge">CommentForm</code> is submitted, the <code class="language-plaintext highlighter-rouge">onSubmit()</code> method is called.
Notice that nothing gets the value of the <code class="language-plaintext highlighter-rouge">TextArea</code> that was added in the
<code class="language-plaintext highlighter-rouge">CommentForm</code> constructor. This is because the comment is the model and the
third parameter to the <code class="language-plaintext highlighter-rouge">TextArea</code> constructor specified the property of the
model to update. So all <code class="language-plaintext highlighter-rouge">onSubmit()</code> has to do is create a new comment from
the model that was updated and add it to the comment list. When the page
redraws, the new list will be rendered.</p>
<p>We use a synchronized list as our shared static model used by <code class="language-plaintext highlighter-rouge">commentListView</code>
(<code class="language-plaintext highlighter-rouge">commentList</code>) to ensure that it is only updated by one thread at a time.
Remember, this is a multi-user application with a shared model!</p>
<p>Finally, you may notice the call to <code class="language-plaintext highlighter-rouge">commentListView.modelChanged()</code>. This
informs the list view that its model has been modified. In more advanced
usage scenarios, this would allow Wicket to expire stale pages accessed with
the browser’s back button.</p>
<h2 id="guestbookhtml">GuestBook.html</h2>
<p>In the HTML below, notice the way that the <code class="language-plaintext highlighter-rouge">TextArea</code> component is being
nested inside the <code class="language-plaintext highlighter-rouge">CommentForm</code>. Wicket is able to keep everything straight
because the Java <code class="language-plaintext highlighter-rouge">Component.add()</code> calls have to result in the same nesting
structure as the HTML.</p>
<p>Finally, notice the <code class="language-plaintext highlighter-rouge">&lt;wicket:remove&gt;</code> block. This is simply markup that is
there for previewing purposes only. When the page renders, it is stripped
out.</p>
<figure class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt">&lt;html</span> <span class="na">xmlns:wicket=</span><span class="s">"http://wicket.apache.org/"</span><span class="nt">&gt;</span>
<span class="nt">&lt;head&gt;</span>
    <span class="nt">&lt;title&gt;</span>Wicket Examples - guestbook<span class="nt">&lt;/title&gt;</span>
    <span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">"stylesheet"</span> <span class="na">type=</span><span class="s">"text/css"</span> <span class="na">href=</span><span class="s">"style.css"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/head&gt;</span>
<span class="nt">&lt;body&gt;</span>
  <span class="nt">&lt;span</span> <span class="na">wicket:id=</span><span class="s">"mainNavigation"</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;form</span> <span class="na">wicket:id=</span><span class="s">"commentForm"</span><span class="nt">&gt;</span>
    Add your comment here:
    <span class="nt">&lt;p&gt;</span>
    <span class="nt">&lt;textarea</span> <span class="na">wicket:id=</span><span class="s">"text"</span><span class="nt">&gt;</span>This is a comment<span class="nt">&lt;/textarea&gt;</span>
    <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">wicket:id=</span><span class="s">"comment"</span> <span class="na">class=</span><span class="s">"nospam"</span> <span class="na">onfocus=</span><span class="s">"getElementById('formsubmit').focus();"</span><span class="nt">/&gt;</span>
    <span class="nt">&lt;p&gt;</span>
    <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"submit"</span> <span class="na">value=</span><span class="s">"Submit"</span> <span class="na">id=</span><span class="s">"formsubmit"</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;/form&gt;</span>
  <span class="nt">&lt;p/&gt;</span>
  <span class="nt">&lt;span</span> <span class="na">wicket:id=</span><span class="s">"comments"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;p&gt;</span>
        <span class="nt">&lt;span</span> <span class="na">wicket:id=</span><span class="s">"date"</span><span class="nt">&gt;</span>1/1/2004<span class="nt">&lt;/span&gt;&lt;br&gt;</span>
        <span class="nt">&lt;span</span> <span class="na">wicket:id=</span><span class="s">"text"</span><span class="nt">&gt;</span>Comment text goes here.<span class="nt">&lt;/span&gt;</span>
    <span class="nt">&lt;/p&gt;</span>
  <span class="nt">&lt;/span&gt;</span>
  <span class="nt">&lt;wicket:remove&gt;</span>
    <span class="nt">&lt;p&gt;</span>
        1/2/2004<span class="nt">&lt;br/&gt;</span>
        More comment text here.
    <span class="nt">&lt;/p&gt;</span>
  <span class="nt">&lt;/wicket:remove&gt;</span>
<span class="nt">&lt;/body&gt;</span>
<span class="nt">&lt;/html&gt;</span></code></pre></figure>
<h2 id="guestbookapplicationjava">GuestBookApplication.java</h2>
<p>For completeness, we’ve included the <code class="language-plaintext highlighter-rouge">GuestBookApplication</code> class, and as a
final treat the modifications to the <code class="language-plaintext highlighter-rouge">web.xml</code> file.</p>
<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kn">package</span> <span class="nn">org.apache.wicket.examples.guestbook</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.Page</span><span class="o">;</span>
<span class="kn">import</span> <span class="nn">org.apache.wicket.examples.WicketExampleApplication</span><span class="o">;</span>
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">GuestBookApplication</span> <span class="kd">extends</span> <span class="nc">WicketExampleApplication</span> <span class="o">{</span>
    <span class="kd">public</span> <span class="nf">GuestBookApplication</span><span class="o">()</span> <span class="o">{</span>
    <span class="o">}</span>
    <span class="nd">@Override</span>
    <span class="kd">public</span> <span class="nc">Class</span><span class="o">&lt;</span> <span class="o">?</span> <span class="kd">extends</span> <span class="nc">Page</span><span class="o">&gt;</span> <span class="nf">getHomePage</span><span class="o">()</span> <span class="o">{</span>
        <span class="k">return</span> <span class="nc">GuestBook</span><span class="o">.</span><span class="na">class</span><span class="o">;</span>
    <span class="o">}</span>
<span class="o">}</span></code></pre></figure>
<h2 id="webxml">web.xml</h2>
<p>Add the following two sections (servlet and servlet-mapping) to your web.xml
file for running this application.</p>
<figure class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;filter&gt;</span>
    <span class="nt">&lt;filter-name&gt;</span>GuestBookApplication<span class="nt">&lt;/filter-name&gt;</span>
    <span class="nt">&lt;filter-class&gt;</span>org.apache.wicket.protocol.http.WicketFilter<span class="nt">&lt;/filter-class&gt;</span>
    <span class="nt">&lt;init-param&gt;</span>
      <span class="nt">&lt;param-name&gt;</span>applicationClassName<span class="nt">&lt;/param-name&gt;</span>
      <span class="nt">&lt;param-value&gt;</span>org.apache.wicket.examples.guestbook.GuestBookApplication<span class="nt">&lt;/param-value&gt;</span>
    <span class="nt">&lt;/init-param&gt;</span>
<span class="nt">&lt;/filter&gt;</span></code></pre></figure>
        </section>
    </div>
</main>
        <footer class="l-container">
            <div class="l-full">
   	<img src="/img/asf_logo_url.svg" style="height:90px; float:left; margin-right:10px;">
    <div style="margin-top:12px;">Copyright © 2020 — The Apache Software Foundation. Apache Wicket, Wicket, Apache, the Apache feather logo, and the Apache Wicket project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
</div>
        </footer>
    </body>

</html>
