You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-dev@jakarta.apache.org by gl...@locus.apache.org on 2000/11/11 16:48:05 UTC
cvs commit: jakarta-taglibs/response/doc/web index.html
glenn 00/11/11 07:48:05
Modified: response/doc/web index.html
Log:
Cleanup for release
Revision Changes Path
1.2 +2082 -52 jakarta-taglibs/response/doc/web/index.html
Index: index.html
===================================================================
RCS file: /home/cvs/jakarta-taglibs/response/doc/web/index.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- index.html 2000/09/26 20:00:42 1.1
+++ index.html 2000/11/11 15:48:05 1.2
@@ -1,52 +1,2082 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; FreeBSD 3.4-RELEASE i386) [Netscape]">
- <title>Documentation for the RESPONSE Tag Library</title>
-</head>
-<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
-
-<center>
-<h1>
-Documentation for the RESPONSE Tag Library</h1></center>
-
-<h3>
-1. INTRODUCTION</h3>
-The RESPONSE custom tag library contains tags which can be used to set
-all the information for an HTTP response for a JSP page.
-<h3>
-2. PREREQUISITE SOFTWARE</h3>
-This custom tag library requires no software other than a servlet container
-that supports the JavaServer Pages Specification, version 1.1.
-<h3>
-3. CONFIGURATION INFORMATION</h3>
-Follow these steps to configure your web application with this tag library:
-<p> Copy the tag library descriptor file
-(response/response.tld) to the /WEB-INF subdirectory of your web application.
-<br> Copy the tag library JAR file (response/response.jar)
-to the /WEB-INF/lib subdirectory of your web application.
-<br> Add a <taglib> element to your web
-application deployment descriptor in /WEB-INF/web.xml like this:
-<p> <taglib>
-<br>
-<taglib-uri>http://jakarta.apache.org/taglibs/response-1.0</taglib-uri>
-<br>
-<taglib-location>/WEB-INF/response.tld</taglib-location>
-<br> </taglib>
-<p>To use the tags from this library in your JSP pages, add the following
-directive at the top of each page:
-<p> <%@ taglib uri="http://jakarta.apache.org/taglibs/response-1.0"
-prefix="req" %>
-<p>where "req" is the tag name prefix you wish to use for tags from this
-library. You can change this value to any prefix you like.
-<h3>
-4. TAG DOCUMENTATION</h3>
-This custom tag library includes a number of tags which are documented
-using <a href="javadoc/index.html">javadocs</a>.
-<h3>
-5. USAGE EXAMPLES</h3>
-See the example application (response/response-examples.war) for examples
-of the usage of the tags from this custom tag library.
-</body>
-</html>
+<HTML>
+
+<HEAD>
+ <TITLE>Jakarta Project: RESPONSE JSP Tag Library</TITLE>
+</HEAD>
+
+<BODY BGCOLOR="white">
+<CENTER>
+<H1>Jakarta Project: RESPONSE JSP Tag Library</H1>
+<H3>Version 1.0</H3>
+</CENTER>
+
+<H3>Table of Contents</H3>
+<A HREF="#overview">Overview</A><BR>
+<A HREF="#requirements">Requirements</A><BR>
+<A HREF="#config">Configuration</A><BR>
+<A HREF="#summary">Tag Summary</A><BR>
+<A HREF="#reference">Tag Reference</A><BR>
+<A HREF="#codes">HTTP Error and Status Codes</A><BR>
+<A HREF="#examples">Examples</A><BR>
+<A HREF="#javadocs">Javadocs</A><BR>
+<A HREF="#history">Revision History</A><BR>
+<BR>
+
+<A NAME="overview"><H3>Overview</H3></A>
+<P>The RESPONSE custom tag library contains tags which can be used
+to set all the information for an HTTP response for a JSP page.</P>
+<P>This includes creating cookies and setting their values, setting
+HTTP headers, returning back an HTTP error, or sending an HTTP redirect.</P>
+
+<A NAME="requirements"><H3>Requirements</H3></A>
+<P>This custom tag library requires no software other than a servlet container
+that supports the JavaServer Pages Specification, version 1.1.</P>
+
+<A NAME="config"><H3>Configuration</H3></A>
+<P>Follow these steps to configure your web application with this tag library:</P>
+<UL>
+<LI>Copy the tag library descriptor file (response/response.tld) to the /WEB-INF
+subdirectory of your web application.</LI>
+<LI>Copy the tag library JAR file (response/response.jar) to the /WEB-INF/lib
+subdirectory of your web application.</LI>
+<LI>Add a <taglib> element to your web application deployment descriptor
+in /WEB-INF/web.xml like this:<BR>
+<BR>
+<PRE>
+<taglib>
+ <taglib-uri>http://jakarta.apache.org/taglibs/response-1.0</taglib-uri>
+ <taglib-location>/WEB-INF/response.tld</taglib-location>
+</taglib>
+</PRE>
+</LI>
+</UL>
+<P>To use the tags from this library in your JSP pages, add the following
+directive at the top of each page: </P>
+<PRE>
+<%@ taglib uri="http://jakarta.apache.org/taglibs/response-1.0" prefix="res" %>
+</PRE>
+<P>where "<I>res</I>" is the tag name prefix you wish to use for
+tags from this library. You can change this value to any prefix you like.
+For the examples below the prefix "<B>res</B>" is used.</P>
+
+<A NAME="summary"><H3>Tag Summary</H3></A>
+<TABLE>
+ <TR>
+ <TD COLSPAN="2"><B>Response Tags</B></TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#encodeurl">encodeurl</A></TD>
+ <TD>Encode a URL with the JSESSIONID if necessary</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#encoderedirecturl">encoderedirecturl</A></TD>
+ <TD>Encode a URL with the JSESSIONID for use with sendredirect</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#senderror">senderror</A></TD>
+ <TD>Return an HTTP error as the HTTP Response</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#setstatus">setstatus</A></TD>
+ <TD>Set the status code for the HTTP Response</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#sendredirect">sendredirect</A></TD>
+ <TD>Send a redirect as the HTTP Response</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#setcontenttype">setcontenttype</A></TD>
+ <TD>Sets the content type of the response being sent to the client</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#flushbuffer">flushbuffer</A></TD>
+ <TD>Forces any content in the buffer to be written to the client</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#iscommitted">iscommitted</A></TD>
+ <TD>Tests whether the HTTP Response has been committed to the client</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#skippage">skippage</A></TD>
+ <TD>Skips the remainder of the JSP page</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2"> </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2"><B>Cookie Tags</B></TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#addcookie">addcookie</A></TD>
+ <TD>Add a cookie to an Http Response</TD>
+ <TR><TD> </TD><TD><TABLE>
+ <TR>
+ <TD><A HREF="#value">value</A></TD>
+ <TD>Set a cookie value</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#comment">comment</A></TD>
+ <TD>Set a cookie comment</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#domain">domain</A></TD>
+ <TD>Set a cookie domain</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#maxage">maxage</A></TD>
+ <TD>Set a cookie maxage</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#path">path</A></TD>
+ <TD>Set a cookie path</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#secure">secure</A></TD>
+ <TD>Set whether a cookie requires secure HTTPS</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#version">version</A></TD>
+ <TD>Set a cookie version</TD>
+ </TR>
+ </TABLE></TD></TR>
+ <TR>
+ <TD COLSPAN="2"> </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2"><B>Header Tags</B></TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#addheader">addheader</A></TD>
+ <TD>Add a single HTTP header</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#addintheader">addintheader</A></TD>
+ <TD>Add a single HTTP integer header</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#adddateheader">adddateheader</A></TD>
+ <TD>Add a single HTTP date header</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#setheader">setheader</A></TD>
+ <TD>Set a single HTTP header</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#setintheader">setintheader</A></TD>
+ <TD>Set a single HTTP integer header</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#setdateheader">setdateheader</A></TD>
+ <TD>Set a single HTTP date header</TD>
+ </TR>
+ <TR>
+ <TD><A HREF="#containsheader">containsheader</A></TD>
+ <TD>Test whether the HTTP Response contains an HTTP header</TD>
+ </TR>
+</TABLE>
+
+<A NAME="reference"><H3>Tag Reference</H3></A>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="encodeurl"> encodeurl</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Encode a URL with the JSESSIONID if necessary.
+ Uses the tag body as the URL to encode, outputs the URL after encoding it.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">The tag body is used as the URL to encode.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- test the encodeurl tag --%>
+Go to
+<a href="<res:encodeurl>/myapp.jsp</res:encodeurl>">
+My Application</a>.
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="encoderedirecturl"> encoderedirecturl</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Encode a URL with the JSESSIONID for use with sendredirect.
+ Uses the tag body as the URL to encode, outputs the URL after encoding it.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">The tag body is used as the URL to encode.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- use the encoderedirecturl tag to redirect to index.html --%>
+<res:sendredirect><res:encoderedirecturl>index.html</res:encoderedirecturl></res:sendredirect>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="senderror"> senderror</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Return an HTTP error as the HTTP Response.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">The tag body is used as the error message.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> error</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">The HTTP error status code to return, for example
+ <B>SC_UNAUTHORIZED</B>. See the
+ <A HREF="#codes">HTTP Error and Status Codes</A> for a list of
+ values this can be set to.</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> reset</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Set to <b>true</b> or <b>false</b>. If set to
+ true the buffer, headers, and status code will be reset.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Send back an HTTP error that user is not authorized --%>
+<res:senderror error="SC_UNAUTHORIZED">Not Authorized!</res:senderror>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="setstatus"> setstatus</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Set the status code for the HTTP Response.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">empty</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> status</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">The HTTP status code to return, for example
+ <B>SC_OK</B>. See the
+ <A HREF="#codes">HTTP Error and Status Codes</A> for a list of
+ values this can be set to.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Send back an HTTP OK status --%>
+<res:setstatus status="SC_OK"/>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="sendredirect"> sendredirect</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Send a redirect to a URL as the HTTP Response.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Tag body is used as URL to redirect to.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Redirect back to the site root index.html --%>
+<res:sendredirect><res:encoderedirecturl>/index.html</res:encoderedirecturl></res:sendredirect>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="setcontenttype"> setcontenttype</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Sets the content type of the response being sent to the client.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Content Type is set to the contents of the tag body.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- set the content type to text/html --%>
+<res:setcontenttype>text/html</res:setcontenttype>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="flushbuffer"> flushbuffer</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Forces any content in the buffer to be written to the client.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">Empty</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- flush output buffer to client --%>
+<res:flushbuffer/>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="iscommitted"> iscommitted</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Tests whether the HTTP Response has been committed to the client.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> value</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">If value is set to false the iscommitted tag includes
+ body of tag if the response is not yet committed.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- see if response output is committed --%>
+<res:iscommitted>
+ Response is already committed!
+</res:iscommitted>
+<res:iscommitted value="false">
+ Response is not committed yet.
+</res:iscommitted>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="skippage"> skippage</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Skips the remainder of the JSP page.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">empty</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Skip the remainder of the JSP page --%>
+<res:skippage/>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="addcookie"> addcookie</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Creates a cookie, a small amount of information sent by
+ a JSP page to a Web browser, saved by the browser, and later sent
+ back to the server. A cookie's value can uniquely identify a client,
+ so cookies are commonly used for session management.
+ <P>A cookie has a name, a single value, and optional attributes such as
+ a comment, path and domain qualifiers, a maximum age,
+ and a version number. Some Web browsers have bugs in how they handle
+ the optional attributes, so use them sparingly to improve the
+ interoperability of your JSP pages.</P>
+ <P>Cookie attributes such as the comment, value, etc. can be set
+ statically by using the corresponding addcookie tag attribute.
+ Or dynamically using the corresponding tag in the body of the
+ addcookie tag.</P>
+ </TR>
+ <TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> name</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Sets the name of the cookie.</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> value</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Assigns a new value to a cookie after the cookie is created.
+ If you use a binary value, you may want to use BASE64 encoding.
+ <P>With Version 0 cookies, values should not contain white space, brackets,
+ parentheses, equals signs, commas, double quotes, slashes, question marks,
+ at signs, colons, and semicolons. Empty values may not behave the same way
+ on all browsers.</P></TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> comment</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Specifies a comment that describes a cookie's purpose.
+ The comment is useful if the browser presents the cookie to
+ the user. Comments are not supported by Netscape Version 0 cookies.</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> domain</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Specifies the domain within which this cookie should be presented.
+ <P>The form of the domain name is specified by RFC 2109.
+ A domain name begins with a dot (.foo.com) and means that
+ the cookie is visible to servers in a specified Domain Name System
+ (DNS) zone (for example, www.foo.com, but not
+ a.b.foo.com).</P>
+ <P>By default, cookies are only returned to the server that sent them.</P></TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> maxage</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Sets the cookie maximum age in seconds.
+ <P>A positive value indicates that the cookie will expire after
+ that many seconds have passed. Note that the value is the
+ maximum age when the cookie will expire, not the cookie's current age.</P>
+ <P>A negative value means that the cookie is not stored persistently
+ and will be deleted when the Web browser exits.</P>
+ <P>A zero value causes the cookie to be deleted.</P>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> path</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Specifies a path for the cookie to which the client should return the cookie.
+ <P>The cookie is visible to all the pages in the directory you specify,
+ and all the pages in that directory's subdirectories.
+ <P>Consult RFC 2109 (available on the Internet) for more information
+ on setting path names for cookies.</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> secure</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Indicates to the browser whether the cookie should
+ only be sent using a secure protocol, such as HTTPS or SSL.
+ Can be set to <b>true</b> or <b>false</b>.
+ The default value is <b>false</b>.</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> version</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Sets the version of the cookie protocol this cookie complies with.
+ Version 0 complies with the original Netscape cookie specification.
+ Version 1 complies with RFC 2109.
+ Since RFC 2109 is still somewhat new, consider version 1 as experimental;
+ do not use it yet on production sites.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Return a test cookie --%>
+<res:addcookie name="test" value="Yes" comment="Test" maxage="-1" path="/example-response/"/>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="value"> value</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Assigns a new value to a cookie after the cookie is created.
+ If you use a binary value, you may want to use BASE64 encoding.
+ <P>With Version 0 cookies, values should not contain white space, brackets,
+ parentheses, equals signs, commas, double quotes, slashes, question marks,
+ at signs, colons, and semicolons. Empty values may not behave the same way
+ on all browsers.</P></TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Cookie value is set to the tag body.
+ Must be nested inside an <b>addcookie</b> tag.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Return a test cookie --%>
+<res:addcookie name="test">
+ <res:value>Yes</res:value>
+</res:addcookie>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="comment"> comment</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Specifies a comment that describes a cookie's purpose.
+ The comment is useful if the browser presents the cookie to
+ the user. Comments are not supported by Netscape Version 0 cookies.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Cookie comment is set to the tag body.
+ Must be nested inside an <b>addcookie</b> tag.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Return a test cookie --%>
+<res:addcookie name="test">
+ <res:value>Yes</res:value>
+ <res:comment>Test Cookie</res:comment>
+</res:addcookie>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="domain"> domain</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Specifies the domain within which this cookie should be presented.
+ <P>The form of the domain name is specified by RFC 2109.
+ A domain name begins with a dot (.foo.com) and means that
+ the cookie is visible to servers in a specified Domain Name System
+ (DNS) zone (for example, www.foo.com, but not
+ a.b.foo.com).</P>
+ <P>By default, cookies are only returned to the server that sent them.</P></TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Cookie domain is set to the tag body.
+ Must be nested inside an <b>addcookie</b> tag.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Return a test cookie --%>
+<res:addcookie name="test">
+ <res:value>Yes</res:value>
+ <res:domain>www.foo.com</res:domain>
+</res:addcookie>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="maxage"> maxage</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Sets the cookie maximum age in seconds.
+ <P>A positive value indicates that the cookie will expire after
+ that many seconds have passed. Note that the value is the
+ maximum age when the cookie will expire, not the cookie's current age.</P>
+ <P>A negative value means that the cookie is not stored persistently
+ and will be deleted when the Web browser exits.</P>
+ <P>A zero value causes the cookie to be deleted.</P>
+ </TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Cookie value is set to the tag body.
+ Must be nested inside an <b>addcookie</b> tag.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Return a test cookie --%>
+<res:addcookie name="test">
+ <res:value>Yes</res:value>
+ <res:maxage>-1</res:maxage>
+</res:addcookie>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="path"> path</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Specifies a path for the cookie to which the client should return the cookie.
+ <P>The cookie is visible to all the pages in the directory you specify,
+ and all the pages in that directory's subdirectories.
+ <P>Consult RFC 2109 (available on the Internet) for more information
+ on setting path names for cookies.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Cookie path is set to the tag body.
+ Must be nested inside an <b>addcookie</b> tag.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Return a test cookie --%>
+<res:addcookie name="test">
+ <res:value>Yes</res:value>
+ <res:path>/response-examples/</res:path>
+</res:addcookie>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="secure"> secure</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Indicates to the browser whether the cookie should
+ only be sent using a secure protocol, such as HTTPS or SSL.
+ Can be set to <b>true</b> or <b>false</b>.
+ The default value is <b>false</b>.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Cookie secure is set based on the tag body.
+ Must be nested inside an <b>addcookie</b> tag.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Return a test cookie --%>
+<res:addcookie name="test">
+ <res:value>Yes</res:value>
+ <res:secure>true</res:secure>
+</res:addcookie>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="version"> version</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Sets the version of the cookie protocol this cookie complies with.
+ Version 0 complies with the original Netscape cookie specification.
+ Version 1 complies with RFC 2109.
+ Since RFC 2109 is still somewhat new, consider version 1 as experimental;
+ do not use it yet on production sites.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Cookie version is set to the tag body.
+ Must be nested inside an <b>addcookie</b> tag.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Return a test cookie --%>
+<res:addcookie name="test">
+ <res:value>Yes</res:value>
+ <res:version>0</res:version>
+</res:addcookie>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="addheader"> addheader</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Adds a response header with the given name and a value.
+ This method allows response headers to have multiple values.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Header value is set to content of the tag body.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> name</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Sets the name of the header.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Add the HTTP Header Cache-Control set to no-cache --%>
+<res:addheader name="Cache-Control">no-cache</res:addheader>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="addintheader"> addintheader</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Adds a response header with the given name and an integer value.
+ This method allows response headers to have multiple values.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Header value is set to content of the tag body
+ which must be an integer.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> name</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Sets the name of the header.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Add the HTTP Header Expires set to 0 --%>
+<res:addintheader name="Expires">0</res:addintheader>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="adddateheader"> adddateheader</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Adds a response header with the given name and date value.
+ The date is specified in terms of milliseconds since Jan 1, 1970 GMT.
+ This method allows response headers to have multiple values.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Header value is set to content of the tag body which
+ must be a date specified in terms of milliseconds since Jan 1, 1970 GMT.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> name</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Sets the name of the header.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Add an HTTP Header Expires set to the current time --%>
+<res:adddateheader name="Expires"><dt:currenttime/<</res:adddateheader>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="setheader"> setheader</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Set a response header with the given name to a value.
+ If the header had already been set, the new value overwrites
+ the previous one.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Header value is set to content of the tag body.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> name</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Sets the name of the header.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Set the HTTP Header Cache-Control to no-cache --%>
+<res:setheader name="Cache-Control">no-cache</res:setheader>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="setintheader"> setinteader</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Set a response header with the given name to an integer value.
+ If the header had already been set, the new value overwrites
+ the previous one.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Header value is set to content of the tag body
+ which must be an integer.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> name</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Sets the name of the header.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Set the HTTP Header Expires to 0 --%>
+<res:setintheader name="Expires">0</res:setintheader>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="setdateheader"> setdateheader</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Set a response header with the given name to a date
+ specified as the number of milliseconds since Jan 1, 1970 GMT.
+ If the header had already been set, the new value overwrites
+ the previous one.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">Header value is set to content of the tag body
+ which must be a date specified as the number of milliseconds since Jan 1, 1970 GMT.</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> name</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Sets the name of the header.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- Set the HTTP Header Expires to the current time --%>
+<res:setdateheader name="Expires"><dt:currenttime/></res:setdateheader>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="90%" CELLPADDING="3" CELLSPACING="0">
+ <TR>
+ <TD COLSPAN="2">
+ <TABLE BORDER="0" BGCOLOR="#CCCCCC" WIDTH="100%" CELLSPACING="0">
+ <TR>
+ <TD><B><FONT SIZE="+1"><A NAME="containsheader"> containsheader</A></FONT></B></TD>
+ <TD ALIGN="RIGHT">Availability: version 1.0 </TD>
+ </TR>
+ </TABLE>
+ </TD
+ </TR>
+ <TR>
+ <TD COLSPAN="2">Test whether the HTTP Response contains an HTTP header.</TD>
+ </TR>
+<TR>
+ <TD WIDTH="2%"> </TD>
+ <TD WIDTH="98%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="20%"><B>Tag Body</B></TD>
+ <TD WIDTH="80%">JSP</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Script Variable</B></TD>
+ <TD WIDTH="80%">No</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Restrictions</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Attributes</B></TD>
+ <TD WIDTH="80%"> </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"> </TD>
+ <TD WIDTH="80%">
+ <TABLE BORDER="0" WIDTH="100%">
+ <TR>
+ <TD WIDTH="40%">Name</TD>
+ <TD WIDTH="20%">Required</TD>
+ <TD WIDTH="40%">Runtime Expression Evaluation</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> name</B></TD>
+ <TD WIDTH="20%"> Yes</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">Name of the HTTP header.</TD>
+ </TR>
+ <TR BGCOLOR="#CCCCCC">
+ <TD WIDTH="40%"><B> value</B></TD>
+ <TD WIDTH="20%"> No</TD>
+ <TD WIDTH="40%"> No</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">If value is set to false the containsheader tag includes
+ body of tag if the HTTP header has not been set.</TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%"><B>Properties</B></TD>
+ <TD WIDTH="80%">None</TD>
+ </TR>
+ <TR>
+ <TD WIDTH="20%" VALIGN="TOP"><B>Example</B></TD>
+ <TD WIDTH="80%"><BR>
+<PRE>
+<%-- set the Expires HTTP header if it doesn't exist --%>
+<res:containsheader name="Expires">
+ Expires header already exists!
+</res:containsheader>
+<res:containsheader name="Expires" value="false">
+ Set Expires HTTP Header to 0:
+ <res:setintheader name="Expires">0</res:setintheader>
+</res:containsheader>
+</PRE>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+</TABLE>
+
+<A NAME="codes"><H3>HTTP Error and Status Codes</H3>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" WIDTH="90%">
+ <TR>
+ <TD><B>SC_ACCEPTED</B><BR>
+ Status code (202) indicating that a request was accepted for
+ processing, but was not completed.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_BAD_GATEWAY</B><BR>
+ Status code (502) indicating that the HTTP server received an
+ invalid response from a server it consulted when acting as a
+ proxy or gateway.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_BAD_REQUEST</B><BR>
+ Status code (400) indicating the request sent by the client was
+ syntactically incorrect.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_CONFLICT</B><BR>
+ Status code (409) indicating that the request could not be
+ completed due to a conflict with the current state of the
+ resource.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_CONTINUE</B><BR>
+ Status code (100) indicating the client can continue.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_CREATED</B><BR>
+ Status code (201) indicating the request succeeded and created
+ a new resource on the server.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_EXPECTATION_FAILED</B><BR>
+ Status code (417) indicating that the server could not meet the
+ expectation given in the Expect request header.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_FORBIDDEN</B><BR>
+ Status code (403) indicating the server understood the request
+ but refused to fulfill it.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_GATEWAY_TIMEOUT</B><BR>
+ Status code (504) indicating that the server did not receive
+ a timely response from the upstream server while acting as
+ a gateway or proxy.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_GONE</B><BR>
+ Status code (410) indicating that the resource is no longer
+ available at the server and no forwarding address is known.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_HTTP_VERSION_NOT_SUPPORTED</B><BR>
+ Status code (505) indicating that the server does not support
+ or refuses to support the HTTP protocol version that was used
+ in the request message.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_INTERNAL_SERVER_ERROR</B><BR>
+ Status code (500) indicating an error inside the HTTP server
+ which prevented it from fulfilling the request.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_LENGTH_REQUIRED</B><BR>
+ Status code (411) indicating that the request cannot be handled
+ without a defined <code><em>Content-Length</em></code>.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_METHOD_NOT_ALLOWED</B><BR>
+ Status code (405) indicating that the method specified in the
+ <code><em>Request-Line</em></code> is not allowed for the resource
+ identified by the <code><em>Request-URI</em></code>.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_MOVED_PERMANENTLY</B><BR>
+ Status code (301) indicating that the resource has permanently
+ moved to a new location, and that future references should use a
+ new URI with their requests.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_MOVED_TEMPORARILY</B><BR>
+ Status code (302) indicating that the resource has temporarily
+ moved to another location, but that future references should
+ still use the original URI to access the resource.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_MULTIPLE_CHOICES</B><BR>
+ Status code (300) indicating that the requested resource
+ corresponds to any one of a set of representations, each with
+ its own specific location.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_NO_CONTENT</B><BR>
+ Status code (204) indicating that the request succeeded but that
+ there was no new information to return.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_NON_AUTHORITATIVE_INFORMATION</B><BR>
+ Status code (203) indicating that the meta information presented
+ by the client did not originate from the server.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_NOT_ACCEPTABLE</B><BR>
+ Status code (406) indicating that the resource identified by the
+ request is only capable of generating response entities which have
+ content characteristics not acceptable according to the accept
+ headerssent in the request.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_NOT_FOUND</B><BR>
+ Status code (404) indicating that the requested resource is not
+ available.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_NOT_IMPLEMENTED</B><BR>
+ Status code (501) indicating the HTTP server does not support
+ the functionality needed to fulfill the request.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_NOT_MODIFIED</B><BR>
+ Status code (304) indicating that a conditional GET operation
+ found that the resource was available and not modified.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_OK</B><BR>
+ Status code (200) indicating the request succeeded normally.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_PARTIAL_CONTENT</B><BR>
+ Status code (206) indicating that the server has fulfilled
+ the partial GET request for the resource.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_PAYMENT_REQUIRED</B><BR>
+ Status code (402) reserved for future use.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_PRECONDITION_FAILED</B><BR>
+ Status code (412) indicating that the precondition given in one
+ or more of the request-header fields evaluated to false when it
+ was tested on the server.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_PROXY_AUTHENTICATION_REQUIRED</B><BR>
+ Status code (407) indicating that the client <em>MUST</em> first
+ authenticate itself with the proxy.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_REQUEST_ENTITY_TOO_LARGE</B><BR>
+ Status code (413) indicating that the server is refusing to process
+ the request because the request entity is larger than the server is
+ willing or able to process.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_REQUEST_TIMEOUT</B><BR>
+ Status code (408) indicating that the client did not produce a
+ requestwithin the time that the server was prepared to wait.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_REQUEST_URI_TOO_LONG</B><BR>
+ Status code (414) indicating that the server is refusing to service
+ the request because the <code><em>Request-URI</em></code> is longer
+ than the server is willing to interpret.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_REQUESTED_RANGE_NOT_SATISFIABLE</B><BR>
+ Status code (416) indicating that the server cannot serve the
+ requested byte range.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_RESET_CONTENT</B><BR>
+ Status code (205) indicating that the agent <em>SHOULD</em> reset
+ the document view which caused the request to be sent.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_SEE_OTHER</B><BR>
+ Status code (303) indicating that the response to the request
+ can be found under a different URI.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_SERVICE_UNAVAILABLE</B><BR>
+ Status code (503) indicating that the HTTP server is
+ temporarily overloaded, and unable to handle the request.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_SWITCHING_PROTOCOLS</B><BR>
+ Status code (101) indicating the server is switching protocols
+ according to Upgrade header.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_UNAUTHORIZED</B><BR>
+ Status code (401) indicating that the request requires HTTP
+ authentication.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_UNSUPPORTED_MEDIA_TYPE</B><BR>
+ Status code (415) indicating that the server is refusing to service
+ the request because the entity of the request is in a format not
+ supported by the requested resource for the requested method.</TD>
+ </TR>
+ <TR>
+ <TD><B>SC_USE_PROXY</B><BR>
+ Status code (305) indicating that the requested resource
+ <em>MUST</em> be accessed through the proxy given by the
+ <code><em>Location</em></code> field.</TD>
+ </TR>
+</TABLE>
+
+<A NAME="examples"><H3>Examples</H3></A>
+<P>See the example application response-examples.war for examples of the usage
+of the tags from this custom tag library.</P>
+
+<A NAME="javadocs"><H3>Java Docs</H3></A>
+<P>Java programmers can view the java class documentation for this tag library
+as <A HREF="javadoc/index.html">javadocs</A>.</P>
+
+<A NAME="history"><H3>Revision History</H3></A>
+<P>Review the complete <A HREF="changes.html">revision history</A> of this tag
+library.</P>
+</BODY>
+</HTML>