<%@ page language=java %>
<!--
   - The taglib tells Resin that any tag starting with <ct:*>
   - is part of the tag library described by the tld in hello.tld
  -->
<%@ taglib prefix=ct uri='WEB-INF/tld/hello.tld' %>

<title>Hello Tags</title>

<body bgcolor=white>

<h3>Configuration</h3>

The tag is configured as:

<pre><code>
&lt;%@ taglib prefix=ct uri='WEB-INF/tld/hello.tld' %>
</code></pre>

<p>Which tells Resin to look at
<a href='../view_source.jsp?tags/WEB-INF/tld/hello.tld'>hello.tld</a> to
map &lt;ct:*> tag names to tag classes.

<p>A hello.tld for &lt;ct:hello/> looks like

<pre><code>
&lt;taglib>
  &lt;tag>
    &lt;name>hello</name>
    &lt;tagclass>test.HelloTag</tagclass>
  &lt;/tag>
&lt;/taglib>
</code></pre>

<h3>Hello, world</h3>

The following
<a href='../view_source.jsp?tags/WEB-INF/classes/test/HelloTag.jsp'>
hello, world tag</a>
is just about the simplest tag you could create.  It does nothing but print
its contents.

<p><em><ct:hello/></em><br>

<h3>Attributes and Conditional</h3>

The following 
<a href='../view_source.jsp?tags/WEB-INF/classes/test/IfSessionTag.jsp'>
session attribute tag</a> displays the contents only if the named
session attribute is set.  You'll need to refresh the page
to see the contents.

<em>
<ct:if-session attr='seen'>
<p>The contents of this tag are only shown on second viewing<br>
</ct:if-session>
</em>
<% session.setAttribute("seen", "true"); %>

</body>

<h3>Tag End</h3>

<p>Tags can also perform actions at a tag close.  The
<a href='../view_source.jsp?tags/WEB-INF/classes/test/RedTag.jsp'>
warn tag</a> colors the contents red.

<p><em>
<ct:warn>
The contents should be red.
</ct:warn>
</em>

<h3>Ending a Page</h3>
