You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by sr...@apache.org on 2005/09/17 07:56:25 UTC

svn commit: r289708 [3/4] - in /struts/apps/trunk/cookbook: ./ src/ src/java/ src/java/examples/ src/java/examples/bean/ src/java/examples/dyna/ src/java/examples/links/ src/java/examples/localization/ src/java/examples/logic/ src/java/examples/multibo...

Added: struts/apps/trunk/cookbook/src/webapp/jsp/bean/Bean.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/bean/Bean.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/bean/Bean.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/bean/Bean.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Bean tag examples</title>
+<html:base />
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/bean/source.jsp"> 
+	<img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Bean tag examples</h1>
+<hr noshade="noshade"/>
+
+<h2>&lt;bean:write&gt;</h2>
+
+<h3>1. Display bean properties</h3>
+
+<table class="result">
+  <tr><td class="label">Boolean:</td>
+  <td><bean:write name="example" property="booleanValue" /></td></tr>
+  <tr><td class="label">Double:</td>
+  <td><bean:write name="example" property="doubleValue" /></td></tr>
+  <tr><td class="label">Float:</td>
+  <td><bean:write name="example" property="floatValue" /></td></tr>
+  <tr><td class="label">Integer:</td>
+  <td><bean:write name="example" property="intValue" /></td></tr>
+  <tr><td class="label">Long integer:</td>
+  <td><bean:write name="example" property="longValue" /></td></tr>
+  <tr><td class="label">Short integer:</td>
+  <td><bean:write name="example" property="shortValue" /></td></tr>
+  <tr><td class="label">String:</td>
+  <td><bean:write name="example" property="stringValue" /></td></tr>
+  <tr><td class="label">Date:</td>
+  <td><bean:write name="example" property="dateValue" /></td></tr>
+</table>
+
+
+<h3>2. Formatting output</h3>
+<table class="result">
+  <tr><td class="label">Formatted number (using format):</td>
+  <td><bean:write name="example" property="doubleValue" format="$0,000.00"/></td></tr>
+  <tr><td class="label">Formatted number (using formatKey):</td>
+  <td><bean:write name="example" property="floatValue" formatKey="format.currency"/></td></tr>
+  <tr><td class="label">Formatted date (using format):</td>
+  <td><bean:write name="example" property="dateValue" format="MMM d yyyy '@' HH:mm"/></td></tr>
+  <tr><td class="label">Formatted date (using formatKey):</td>
+  <td><bean:write name="example" property="dateValue" formatKey="format.date"/></td></tr>
+</table>
+
+<h3>3. Display values from collections, arrays and nested beans</h3>
+<table class="result">
+  <tr><td class="label">List entry:</td>
+  <td><bean:write name="example" property="list[2]" /></td></tr>
+  <tr><td class="label">Array entry:</td>
+  <td><bean:write name="example" property="array[3]" /></td></tr>
+  <tr><td class="label">Nested property:</td>
+  <td><bean:write name="example" property="nested.stringValue"/></td></tr>
+</table>
+
+
+<h3>4. Filtering HTML tags in output</h3>
+<table class="result">
+  <tr><td class="label">Filtered text:</td>
+  <td><bean:write name="example" property="html"/></td></tr>
+  <tr><td class="label">Unfiltered text:</td>
+  <td><bean:write name="example" property="html" filter="false"/></td></tr>
+</table>
+
+
+<h2>&lt;bean:define&gt;</h2>
+<bean:define id="define1" value="This is a test string"/>
+<bean:define name="example" property="nested" id="define2" />
+<table class="result">
+  <tr><td class="label">String value:</td>
+  <td><bean:write name="define1" /></td></tr>
+  <tr><td class="label">Bean:</td>
+  <td><bean:write name="define2" property="stringValue" /></td></tr>
+</table>
+
+
+<h2>&lt;bean:header&gt;</h2>
+<bean:header name="Accept-Encoding" id="encodings" />
+<table class="result">
+  <tr><td class="label">Accept-Encodings:</td>
+  <td><bean:write name="encodings" /></td></tr>
+</table>
+
+<%-- Not working in webappcabaret 
+<h2>&lt;bean:include&gt;</h2>
+<bean:include page="/jsp/bean/include.inc" id="include"/>
+<div class="result">
+<bean:write name="include" filter="false"/>
+</div>
+--%>
+
+<h2>&lt;bean:message&gt;</h2>
+<div class="result">
+<p><bean:message key="message.example.simple"/></p>
+<p><bean:message key="message.example.replaceable" arg0="a slightly more complex" arg1="2 replaceable" /></p>
+<p><bean:message key="message.example.replaceable" arg0="the same template" arg1="different" /></p>
+</div>
+
+<h2>&lt;bean:parameters&gt;</h2>
+<bean:parameter name="param1" id="p1" value=""/>
+<bean:parameter name="param2" id="p2" value=""/>
+<bean:parameter name="param3" id="p3" value="DEFAULT"/>
+<table class="result">
+  <tr><td class="label">Parameter 1:</td>
+  <td><bean:write name="p1" /></td></tr>
+  <tr><td class="label">Parameter 2:</td>
+  <td><bean:write name="p2" /></td></tr>
+  <tr><td class="label">Parameter 3:</td>
+  <td><bean:write name="p3" /></td></tr>
+</table>
+
+
+<h2>&lt;bean:size&gt;</h2>
+<bean:size name="example" property="list" id="listSize" />
+<table class="result">
+  <tr><td class="label">List size:</td>
+  <td><bean:write name="listSize" /></td></tr>
+</table>
+
+
+<h2>&lt;bean:cookie&gt;</h2>
+<p>Display the properties of our current session ID cookie (if there is one):</p>
+<bean:cookie id="sess" name="JSESSIONID" value="JSESSIONID-IS-UNDEFINED"/>
+<table class="result">
+  <tr><th>Property Name</th><th>Value</th></tr>
+  <tr><td class="label">comment</td>
+  <td><bean:write name="sess" property="comment"/></td></tr>
+  <tr><td class="label">domain</td>
+  <td><bean:write name="sess" property="domain"/></td></tr>
+  <tr><td class="label">maxAge</td>
+  <td><bean:write name="sess" property="maxAge"/></td></tr>
+<%-- Fails on Tomcat 3.3.1a 
+  <tr><td class="label">name</td>
+  <td><bean:write name="sess" property="name"/></td></tr>
+--%>  
+  <tr><td class="label">path</td>
+  <td><bean:write name="sess" property="path"/></td></tr>
+  <tr><td class="label">secure</td>
+  <td><bean:write name="sess" property="secure"/></td></tr>
+  <tr><td class="label">value</td>
+  <td><bean:write name="sess" property="value"/></td></tr>
+  <tr><td class="label">version</td>
+  <td><bean:write name="sess" property="version"/></td></tr>
+</table>
+
+<p>Display the properties of an undefined cookie that was given the default value UNKNOWN_VALUE:</p>
+<bean:cookie id="dummy" name="UNKNOWN_COOKIE" value="UNKNOWN_VALUE"/>
+<table class="result">
+  <tr><th>Property Name</th><th>Value</th></tr>
+  <tr><td class="label">comment</td>
+  <td><bean:write name="dummy" property="comment"/></td></tr>
+  <tr><td class="label">domain</td>
+  <td><bean:write name="dummy" property="domain"/></td></tr>
+  <tr><td class="label">maxAge</td>
+  <td><bean:write name="dummy" property="maxAge"/></td></tr>
+<%-- Fails on Tomcat 3.3.1a 
+  <tr><td class="label">name</td>
+  <td><bean:write name="dummy" property="name"/></td></tr>
+--%>
+  <tr><td class="label">path</td>
+  <td><bean:write name="dummy" property="path"/></td></tr>
+  <tr><td class="label">secure</td>
+  <td><bean:write name="dummy" property="secure"/></td></tr>
+  <tr><td class="label">value</td>
+  <td><bean:write name="dummy" property="value"/></td></tr>
+  <tr><td class="label">version</td>
+  <td><bean:write name="dummy" property="version"/></td></tr>
+</table>
+
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/bean/Bean.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/bean/Bean.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/bean/include.inc
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/bean/include.inc?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/bean/include.inc (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/bean/include.inc Fri Sep 16 22:55:45 2005
@@ -0,0 +1 @@
+<p style="border-left: 5px solid #ccc; padding-left: 10px;">This paragraph was included using the &lt;bean:include&gt; tag</p>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/bean/include.inc
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/bean/include.inc
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/bean/source.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/bean/source.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/bean/source.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/bean/source.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Bean Tags Examples</title>
+<html:xhtml/>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link action="/processBean">
+	   <img src="../../images/execute.gif" width="24" height="24" alt="Execute example" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Source Code for Bean Tag Examples</h1>
+<hr noshade="noshade"/>
+
+<h2>JavaServer Pages</h2>
+<p><html:link page="/source.jsp?src=/jsp/bean/Bean.jsp">Bean.jsp</html:link></p>
+
+<h2>Actions</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/bean/PrepareBeanAction.java">PrepareBeanAction.java</html:link></p>
+
+<h2>ActionForm</h2>
+<p>None</p>
+
+<h2>Configuration files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/struts-config.xml">struts-config.xml</html:link></p>
+
+<h2>Other source files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/bean/ExampleBean.java">ExampleBean.java</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/bean/NestedBean.java">NestedBean.java</html:link></p>
+<p><html:link page="/source.jsp?src=/jsp/bean/include.inc">include.inc</html:link></p>
+
+</body>
+</html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/bean/source.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/bean/source.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/dyna/Dyna.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/dyna/Dyna.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/dyna/Dyna.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/dyna/Dyna.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=utf-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Simple form using DynaActionForm</title>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/dyna/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Simple form using DynaActionForm</h1>
+<hr noshade="noshade"/>
+
+<p>Enter information into the fields below. Your entries will be displayed when you Submit the form.<br />
+This is just to demonstrate the Struts html tags. The information that you enter is discarded.</p>
+<p>There is no validation in this example. See the <html:link action="/prepareValidator">validator example</html:link> for use of
+  validation with dynaforms.</p>
+<hr noshade="noshade" />   
+<html:errors/>
+<html:form action="/processDyna">
+	<p>What's your first name?:<br/>
+<html:text property="name" size="40" maxlength="50"/></p>
+	<p> Enter a secret word or phrase:<br/>
+<html:password property="secret" size="40" maxlength="50"/></p>
+	<p>What is your favorite color?:<br/> 
+	  <html:select property="color">
+    	<html:option value="red">Red</html:option>
+	    <html:option value="green">Green</html:option>
+    	<html:option value="blue">Blue</html:option>
+	  </html:select>
+    </p>
+	<p><html:checkbox property="confirm"/>Is that really your favorite color?</p>
+	<p>How much do you like your chosen color?:<br />
+		<html:radio property="rating" value="1">Actually, I hate it.</html:radio><br />
+		<html:radio property="rating" value="2">Not so much.</html:radio><br />
+		<html:radio property="rating" value="3">I'm indifferent</html:radio><br />
+		<html:radio property="rating" value="4">It's pretty neat</html:radio><br />
+		<html:radio property="rating" value="5">I painted my whole house with it.</html:radio>
+	</p>	
+	<p>Enter a message (you may use html tags):<br />
+		<html:textarea property="message" cols="40" rows="6"/>
+	</p>
+	<html:hidden property="hidden" value="Sssh! It's a secret. Nobody knows I'm here."/>
+	<hr noshade="noshade" />   
+	<p>
+		<html:submit>
+			<bean:message key="button.submit" />
+		</html:submit>
+		<html:cancel/>
+	</p>
+</html:form>
+
+</body>
+</html:html>

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/dyna/Dyna.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/dyna/Dyna.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/dyna/DynaResults.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/dyna/DynaResults.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/dyna/DynaResults.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/dyna/DynaResults.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=utf-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>DynaActionForm Example</title>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/dyna/source.jsp">
+	   <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>DynaActionForm Results</h1>
+<hr noshade="noshade"/>
+<p>Hello <bean:write name="dynaForm" property="name" />,</p>
+<p><strong>You told me a secret:</strong> <bean:write name="dynaForm" property="secret" /></p>
+<p><strong>You said that your favorite color is:</strong> <bean:write name="dynaForm" property="color" /></p>
+
+<logic:equal name="dynaForm" property="confirm" value="true">
+    <p>You confirmed that this <em>is</em> your favorite color.</p>
+</logic:equal>
+<logic:notEqual name="dynaForm" property="confirm" value="true">
+	<p>... but you lied. Shame on you!</p>
+</logic:notEqual>
+
+<p><strong>On scale of 1 to 5 you rated your color:</strong> 
+	<bean:write	name="dynaForm" property="rating" />
+</p>
+<p><strong>This was lurking in a hidden field:</strong><br /> 
+	<bean:write	name="dynaForm" property="hidden" /></p>
+<p><strong>You wrote this message:</strong></p>
+<p><bean:write name="dynaForm" property="message" filter="false"/></p>
+</body>
+</html:html>

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/dyna/DynaResults.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/dyna/DynaResults.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/dyna/source.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/dyna/source.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/dyna/source.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/dyna/source.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=utf-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Source code for DynaActionForm example</title>
+<html:xhtml/>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link action="/processdyna">
+	   <img src="../../images/execute.gif" width="24" height="24" alt="Execute example" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Source code for DynaActionForm example</h1>
+<hr noshade="noshade"/>
+
+<h2>JavaServer Pages</h2>
+<p><html:link page="/source.jsp?src=/jsp/dyna/Dyna.jsp">Dyna.jsp</html:link></p>
+<p><html:link page="/source.jsp?src=/jsp/dyna/DynaResults.jsp">DynaResults.jsp</html:link></p>
+
+<h2>Actions</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/SuccessAction.java">SuccessAction.java</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/dyna/ProcessDynaAction.java">ProcessDynaAction.java</html:link></p>
+
+<h2>ActionForm</h2>
+<p>Configured in struts-config.xml</p>
+
+<h2>Configuration files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/struts-config.xml">struts-config.xml</html:link></p>
+
+<h2>Other source files</h2>
+<p>None</p>
+
+</body>
+</html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/dyna/source.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/dyna/source.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/links/Links.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/links/Links.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/links/Links.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/links/Links.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Link Examples</title>
+<html:base />
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+
+<html:link page="/jsp/links/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Link Examples</h1>
+<hr noshade="noshade"/>
+
+<h2>Simple Links</h2>
+<p>If you view this page with cookies disabled, you will see that the struts tags append the session id to the link URL.<br />
+ Observe that the HTML &lt;a&gt; tag does not have the URL appended.</p>
+<a href="../../processLinks.do">Link using HTML &lt;a&gt; tag</a><br />
+<%-- This causes an exception on Tomcat 4.06 and 4.1.24. It works on Tomcat 5 and WebSphere 5. 
+     I think we can assume a bug inTomcat 4.x.
+	<html:link href="../../processLinks.do">Link using href attribute</html:link><br />
+--%>
+<html:link page="/processLinks.do">Link using page attribute</html:link><br />
+<html:link action="/processLinks">Link using action attribute</html:link><br />
+<html:link action="/processLinks" anchor="test">Link to an anchor</html:link><br />
+
+<h2>Links with Parameters</h2>
+<html:link action="/processLinks?color=blue">Hardcoded parameter</html:link><br />
+<bean:define id="myColor" value="red"/>
+<html:link action="/processLinks" paramId="color" paramName="myColor">Dynamic parameter</html:link><br />
+<html:link action="/processLinks" paramId="msg" paramName="testBean" paramProperty="stringValue">Dynamic parameter from a bean property</html:link><br />
+<html:link action="/processLinks" name="parms">Multiple dynamic parameters from a Map</html:link><br />
+
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/links/Links.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/links/Links.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/links/LinksResults.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/links/LinksResults.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/links/LinksResults.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/links/LinksResults.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=utf-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Link Example Results</title>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/links/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Link Example Results</h1>
+<hr noshade="noshade"/>
+
+<p class="intro">This page doesn't really do much, it's just a convenient target for
+  the links example page. The following text is just filler to push the "Test" anchor down 
+  the page so you can see that linking to an anchor really does
+  work. Apart from that, this is a very dull page.</p>
+<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
+  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
+  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
+  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
+  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat
+  nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit
+  praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+  Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming
+  id quod mazim placerat facer possim assum. Typi non habent claritatem insitam;
+  est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt
+  lectores legere me lius quod ii legunt saepius. Claritas est etiam processus
+  dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare
+  quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum
+  formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui
+  nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
+<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
+  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
+  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
+  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
+  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat
+  nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit
+  praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+  Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming
+  id quod mazim placerat facer possim assum. Typi non habent claritatem insitam;
+  est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt
+  lectores legere me lius quod ii legunt saepius. Claritas est etiam processus
+  dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare
+  quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum
+  formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui
+  nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
+<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
+  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
+  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
+  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
+  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat
+  nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit
+  praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+  Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming
+  id quod mazim placerat facer possim assum. Typi non habent claritatem insitam;
+  est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt
+  lectores legere me lius quod ii legunt saepius. Claritas est etiam processus
+  dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare
+  quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum
+  formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui
+  nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
+<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
+  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
+  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
+  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
+  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat
+  nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit
+  praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+  Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming
+  id quod mazim placerat facer possim assum. Typi non habent claritatem insitam;
+  est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt
+  lectores legere me lius quod ii legunt saepius. Claritas est etiam processus
+  dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare
+  quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum
+  formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui
+  nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
+<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
+  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
+  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
+  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
+  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat
+  nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit
+  praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+  Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming
+  id quod mazim placerat facer possim assum. Typi non habent claritatem insitam;
+  est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt
+  lectores legere me lius quod ii legunt saepius. Claritas est etiam processus
+  dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare
+  quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum
+  formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui
+  nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
+<h2 id="test">Test</h2>
+<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
+  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
+  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
+  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
+  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat
+  nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit
+  praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+  Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming
+  id quod mazim placerat facer possim assum. Typi non habent claritatem insitam;
+  est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt
+  lectores legere me lius quod ii legunt saepius. Claritas est etiam processus
+  dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare
+  quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum
+  formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui
+  nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
+<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
+  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
+  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
+  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
+  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat
+  nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit
+  praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+  Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming
+  id quod mazim placerat facer possim assum. Typi non habent claritatem insitam;
+  est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt
+  lectores legere me lius quod ii legunt saepius. Claritas est etiam processus
+  dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare
+  quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum
+  formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui
+  nunc nobis videntur parum clari, fiant sollemnes in futurum.</p>
+
+</body>
+</html:html>

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/links/LinksResults.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/links/LinksResults.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/links/source.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/links/source.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/links/source.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/links/source.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Source Code for Link examples</title>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link action="/processLinks">
+	   <img src="../../images/execute.gif" width="24" height="24" alt="Execute example" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Source Code for Link examples</h1>
+<hr noshade="noshade"/>
+
+<h2>JavaServer Pages</h2>
+<p><html:link page="/source.jsp?src=/jsp/links/Links.jsp">Links.jsp</html:link></p>
+<p><html:link page="/source.jsp?src=/jsp/links/LinksResults.jsp">LinkResults.jsp</html:link></p>
+
+<h2>Actions</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/links/PrepareLinksAction.java">PrepareLinksAction.java</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/links/ProcessLinksAction.java">ProcessLinksAction.java</html:link></p>
+
+<h2>ActionForm</h2>
+<p>None</p>
+
+<h2>Configuration Files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/struts-config.xml">struts-config.xml</html:link></p>
+
+<h2>Misc.</h2>
+<p>None</p>
+
+</body>
+</html>

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/links/source.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/links/source.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/localization/Localization.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/localization/Localization.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/localization/Localization.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/localization/Localization.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Localization Example</title>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/localization/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Localization Example</h1>
+<hr noshade="noshade"/>
+
+<h2><bean:message key="message.welcome"/></h2>
+
+<h4>Change Language</h4>
+<ul>
+   <li><html:link page="/processLocalization.do">Default</html:link></li>
+   <li><html:link page="/processLocalization.do?language=en">English</html:link></li>
+   <li><html:link page="/processLocalization.do?language=en&amp;country=CA">English (Canadian)</html:link></li>
+   <li><html:link page="/processLocalization.do?language=en&amp;country=US">English (US)</html:link></li>
+   <li><html:link page="/processLocalization.do?language=en&amp;country=GB">English (British)</html:link></li>
+   <li><html:link page="/processLocalization.do?language=fr">French</html:link></li>
+   <li><html:link page="/processLocalization.do?language=de">German</html:link></li>
+   <li><html:link page="/processLocalization.do?language=es">Spanish</html:link></li>
+   <li><html:link page="/processLocalization.do?language=it">Italian</html:link></li>
+   <li><html:link page="/processLocalization.do?language=pt">Portuguese</html:link></li>
+</ul>
+
+<hr />
+<p><strong>Notes:</strong> If I've got the translations wrong please feel free to tell me the correct version. I'm a programmer not a linguist, Jim.</p>
+
+</body>
+</html:html>

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/localization/Localization.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/localization/Localization.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/localization/source.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/localization/source.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/localization/source.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/localization/source.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Source Code for Localization Example</title>
+<html:xhtml/>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link action="/processLocalization">
+	   <img src="../../images/execute.gif" width="24" height="24" alt="Execute example" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Source Code for Localization Example</h1>
+<hr noshade="noshade"/>
+
+<h2>JavaServer Pages</h2>
+<p><html:link page="/source.jsp?src=/jsp/localization/Localization.jsp">Localization.jsp</html:link></p>
+
+<h2>Actions</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/SuccessAction.java">SuccessAction.java</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/localization/ProcessLocalizationAction.java">ProcessLocalizationAction.java</html:link></p>
+
+<h2>ActionForm</h2>
+<p>None</p>
+
+<h2>Configuration files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/struts-config.xml">struts-config.xml</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources.properties">ApplicationResources.properties</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources_en_CA.properties">ApplicationResources_en_CA.properties</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources_en_US.properties">ApplicationResources_en_US.properties</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources_en_GB.properties">ApplicationResources_en_GB.properties</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources_fr.properties">ApplicationResources_fr.properties</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources_de.properties">ApplicationResources_de.properties</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources_es.properties">ApplicationResources_es.properties</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources_it.properties">ApplicationResources_it.properties</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources_pt.properties">ApplicationResources_pt.properties</html:link></p>
+
+<h2>Other source files</h2>
+<p>None</p>
+
+</body>
+</html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/localization/source.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/localization/source.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/logic/Logic.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/logic/Logic.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/logic/Logic.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/logic/Logic.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ page import="org.apache.struts.action.ActionErrors" %>
+<%@ page import="org.apache.struts.action.ActionMessages" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Logic Tags Example</title>
+<html:base />
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/logic/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Logic Tags Example</h1>
+<hr noshade="noshade"/>
+
+<h2>Present / Not Present</h2>
+
+<h3>Cookie</h3>
+<logic:present cookie="JSESSIONID">
+	<p>Session cookie is present.</p>
+</logic:present>
+<logic:notPresent cookie="UNKNOWN">
+	<p>UNKNOWN cookie is not present.</p>
+</logic:notPresent>
+
+<h3>Parameter</h3>
+<logic:present parameter="param">
+	<bean:parameter name="param" id="test"/>
+	<p><bean:write name="test"/></p>
+</logic:present>
+<logic:notPresent parameter="param">
+	<p>Parameter 'param' not present. 
+  	  <html:link action="/prepareLogic?param=The parameter is present">
+	    Redisplay page with parameter present.
+	  </html:link>
+	</p>
+</logic:notPresent>
+
+<h3>Bean</h3>
+<logic:present name="testBean">
+	<p>'testBean' is present.</p>
+</logic:present>
+<logic:notPresent name="anotherTestBean">
+	<p>'anotherTestBean' is not present.</p>
+</logic:notPresent>
+
+<logic:present name="testBean" property="fred">
+	<p>'fred' property is present on 'testBean'</p>
+</logic:present>
+<logic:notPresent name="testBean" property="fred">
+	<p>'fred' property is not present on 'testBean'</p>
+</logic:notPresent>
+<logic:present name="testBean" property="stringValue">
+	<p>'stringValue' property is present on 'testBean'</p>
+</logic:present>
+
+
+<h2>Empty / Not Empty</h2>
+<logic:present name="items">
+	<p>'items' was found.</p>
+</logic:present>
+<logic:empty name="items">
+	<p>'items' is empty</p>
+</logic:empty>
+<logic:notEmpty name="items">
+	<p>'items' is not empty</p>
+<%--	<bean:size collection="items" id="itemsSize"/>
+	<p>Items has <bean:write name="itemsSize" /> items.</p>
+--%>	
+</logic:notEmpty>
+
+
+<h2>Comparison tags</h2>
+<logic:equal name="intValue" value="7">
+	<p>intValue == 7</p>
+</logic:equal>
+<logic:greaterEqual name="intValue" value="7">
+	<p>intValue &gt;= 7</p>
+</logic:greaterEqual>
+<logic:greaterEqual name="intValue" value="6">
+	<p>intValue &gt;= 6</p>
+</logic:greaterEqual>
+<logic:greaterThan name="intValue" value="6">
+	<p>intValue &gt; 6</p>
+</logic:greaterThan>
+
+<logic:lessEqual name="intValue" value="7">
+	<p>intValue &lt;= 7</p>
+</logic:lessEqual>
+<logic:lessEqual name="intValue" value="8">
+	<p>intValue &lt;= 8</p>
+</logic:lessEqual>
+<logic:lessThan name="intValue" value="8">
+	<p>intValue &lt; 8</p>
+</logic:lessThan>
+
+<logic:match name="stringValue" value="world">
+	<p>stringValue matches 'world'</p>
+</logic:match>
+<logic:notMatch name="stringValue" value="earth">
+	<p>stringValue does not match 'earth'</p>
+</logic:notMatch>
+<logic:notMatch name="stringValue" value="world">
+	<p>stringValue does not match 'world'</p>
+</logic:notMatch>
+
+
+<h2>Iteration</h2>
+<h4>Book list:</h4>
+<ol>
+<logic:iterate name="books" id="book" indexId="index">
+	<li><bean:write name="book" property="title"/></li>
+</logic:iterate>
+</ol>
+<h4>Book list (entries 3-5):</h4>
+<ol start="3">
+<logic:iterate name="books" id="book" offset="2" length="3">
+	<li><bean:write name="book" property="title"/></li>
+</logic:iterate>
+</ol>
+
+
+<h2>Checking for and displaying messages</h2>
+<h3>Errors:</h3>
+
+<logic:messagesPresent>
+<p>Global errors:</p>
+<ul>
+ <html:messages id="error" property="<%=ActionErrors.GLOBAL_MESSAGE%>"> 
+ <li><bean:write name="error"/></li>
+ </html:messages> 
+</ul> 
+<p>Errors for 'test':</p>
+<ul>
+ <html:messages id="error" property="test"> 
+ <li><bean:write name="error"/></li>
+ </html:messages> 
+</ul> 
+</logic:messagesPresent>
+<logic:messagesNotPresent>
+	<p>There are no errors</p>
+</logic:messagesNotPresent>
+
+
+<h3>Messages:</h3>
+<logic:messagesPresent message="true">
+ <ul>
+ <html:messages id="msg" message="true" property="<%=ActionMessages.GLOBAL_MESSAGE%>"> 
+ <li><bean:write name="msg"/></li>
+ </html:messages> 
+ </ul>
+<p>Messages for 'test':</p>
+<ul>
+ <html:messages id="msg" property="test" message="true"> 
+ <li><bean:write name="msg"/></li>
+ </html:messages> 
+</ul> 
+</logic:messagesPresent>
+<logic:messagesNotPresent message="true">
+	<p>There are no messages</p>
+</logic:messagesNotPresent>
+
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/logic/Logic.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/logic/Logic.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/logic/source.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/logic/source.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/logic/source.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/logic/source.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Select / Logic Example</title>
+<html:xhtml/>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link action="/processSimple">
+	   <img src="../../images/execute.gif" width="24" height="24" alt="Execute example" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Source Code for Logic Tags Examples</h1>
+<hr noshade="noshade"/>
+
+<h2>JavaServer Pages</h2>
+<p><html:link page="/source.jsp?src=/jsp/logic/Logic.jsp">Logic.jsp</html:link></p>
+
+<h2>Actions</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/logic/PrepareLogicAction.java">PrepareLogicAction.java</html:link></p>
+
+<h2>ActionForm</h2>
+<p>Configured in struts-config.xml</p>
+
+<h2>Configuration files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/struts-config.xml">struts-config.xml</html:link></p>
+
+<h2>Other source files</h2>
+<p>None</p>
+
+</body>
+</html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/logic/source.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/logic/source.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/messages/Messages.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/messages/Messages.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/messages/Messages.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/messages/Messages.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Messages Example</title>
+<html:base />
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/messages/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Messages</h1>
+<hr noshade="noshade"/>
+
+<h3>Messages</h3>
+<p><bean:message key="message.example.simple"/></p>
+<p><bean:message key="message.example.replaceable" arg0="a slightly more complex" arg1="2 replaceable" /></p>
+<p><bean:message key="message.example.replaceable" arg0="the same template" arg1="different" /></p>
+
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/messages/Messages.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/messages/Messages.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/messages/source.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/messages/source.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/messages/source.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/messages/source.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Source Code for Messages Example</title>
+<html:xhtml/>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link action="/processMessages">
+	   <img src="../../images/execute.gif" width="24" height="24" alt="Execute example" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Source Code for Messages Example</h1>
+<hr noshade="noshade"/>
+
+<h2>JavaServer Pages</h2>
+<p><html:link page="/source.jsp?src=/jsp/messages/Messages.jsp">Messages.jsp</html:link></p>
+
+<h2>Actions</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/SuccessAction.java">SuccessAction.java</html:link></p>
+
+<h2>ActionForm</h2>
+<p>None</p>
+
+<h2>Configuration files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/struts-config.xml">struts-config.xml</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/resources/ApplicationResources.properties">ApplicationResources.properties</html:link></p>
+
+<h2>Other source files</h2>
+<p>None</p>
+
+</body>
+</html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/messages/source.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/messages/source.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/multibox/Multibox.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/multibox/Multibox.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/multibox/Multibox.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/multibox/Multibox.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Multibox Example</title>
+<html:base />
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/multibox/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Multibox Example</h1>
+<hr noshade="noshade"/>
+<html:form action="/processMultibox">
+	<h2>1. Simple multibox tags</h2>
+  <p>Checkboxes are statically defined in the JSP.<br />
+     Initially selected values are defined in the 'prepare' Action.</p>
+
+	<html:multibox property="fruits" value="Strawberry"/>Strawberry<br />
+	<html:multibox property="fruits" value="Apple"/>Apple<br />
+	<html:multibox property="fruits" value="Orange"/>Orange<br />
+	<html:multibox property="fruits" value="Pear"/>Pear<br />
+	<html:multibox property="fruits" value="Mango"/>Mango<br />
+	<html:multibox property="fruits" value="Banana"/>Banana<br />
+	<html:multibox property="fruits" value="Pineapple"/>Pineapple<br />
+
+	<h2>2. Multibox tags generated from an array</h2>
+	<p>The checkboxes are generated by iterating over a String array containing color names.<br />
+	   Initially selected values are defined in the 'prepare' Action.</p>
+
+	<logic:iterate name="colors" id="color">
+		<html:multibox property="colors">
+			<bean:write name="color" />
+		</html:multibox>
+		<bean:write name="color" /><br />
+	</logic:iterate>
+
+	<hr />
+	<p>
+		<html:submit /> 
+		<html:cancel />
+		<html:reset />
+	</p>
+</html:form>
+
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/multibox/Multibox.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/multibox/Multibox.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/multibox/MultiboxResults.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/multibox/MultiboxResults.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/multibox/MultiboxResults.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/multibox/MultiboxResults.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Multibox Results</title>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/multibox/source.jsp">
+	   <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Multibox Results</h1>
+<hr noshade="noshade"/>
+
+<p><strong>Selected fruits: </strong>
+<logic:iterate name="multiboxForm" property="fruits" id="fruit">
+	<bean:write name="fruit" />
+</logic:iterate>
+</p>
+
+<p><strong>Selected colors: </strong>
+<logic:iterate name="multiboxForm" property="colors" id="color">
+	<bean:write name="color" />
+</logic:iterate>
+</p>
+
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/multibox/MultiboxResults.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/multibox/MultiboxResults.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/multibox/source.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/multibox/source.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/multibox/source.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/multibox/source.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Source Code for Multibox Example</title>
+<html:xhtml/>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link action="/processMultibox">
+    <img src="../../images/execute.gif" width="24" height="24" alt="Execute example" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Source Code for Multibox Example</h1>
+<hr noshade="noshade"/>
+
+<h2>JavaServer Pages</h2>
+<p><html:link page="/source.jsp?src=/jsp/multibox/Multibox.jsp">Multibox.jsp</html:link></p>
+<p><html:link page="/source.jsp?src=/jsp/multibox/MultiboxResults.jsp">MultiboxResults.jsp</html:link></p>
+
+<h2>Actions</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/multibox/PrepareMultiboxAction.java">PrepareMultiboxAction.java</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/multibox/ProcessMultiboxAction.java">ProcessMultiboxAction.java</html:link></p>
+
+<h2>ActionForm</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/multibox/MultiboxActionForm.java">MultiboxActionForm.java</html:link></p>
+
+<h2>Configuration files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/struts-config.xml">struts-config.xml</html:link></p>
+
+<h2>Other source files</h2>
+<p>None</p>
+
+</body>
+</html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/multibox/source.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/multibox/source.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/options/Options.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/options/Options.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/options/Options.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/options/Options.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Select / Options examples</title>
+<html:base />
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/options/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Select / Options examples</h1>
+<hr noshade="noshade"/>
+<p>View the HTML source to see the generated option values.</p>
+<html:form action="/processOptions">
+	<h2>1. Simple select tags</h2>
+	<table width="100%" border="0" cellspacing="10" cellpadding="0">
+		<tr valign="top">
+			<td width="33%">
+			<p>Single select, size=&quot;1&quot; (drop down list)</p>
+			<p><html:select property="fruit1">
+				<html:option value="Strawberry">Strawberry</html:option>
+				<html:option value="Apple">Apple</html:option>
+				<html:option value="Orange">Orange</html:option>
+				<html:option value="Pear">Pear</html:option>
+				<html:option value="Mango">Mango</html:option>
+				<html:option value="Banana">Banana</html:option>
+				<html:option value="Pineapple">Pineapple</html:option>
+			</html:select></p>
+			</td>
+			<td width="33%">
+			<p>Single select, size=&quot;4&quot;</p>
+			<p><html:select property="fruit2" size="4">
+				<html:option value="Strawberry">Strawberry</html:option>
+				<html:option value="Apple">Apple</html:option>
+				<html:option value="Orange">Orange</html:option>
+				<html:option value="Pear">Pear</html:option>
+				<html:option value="Mango">Mango</html:option>
+				<html:option value="Banana">Banana</html:option>
+				<html:option value="Pineapple">Pineapple</html:option>
+			</html:select></p>
+			</td>
+			<td width="33%">
+			<p>Multi-select, size=&quot;7&quot;</p>
+			<p><html:select property="fruit3" size="7" multiple="true">
+				<html:option value="Strawberry">Strawberry</html:option>
+				<html:option value="Apple">Apple</html:option>
+				<html:option value="Orange">Orange</html:option>
+				<html:option value="Pear">Pear</html:option>
+				<html:option value="Mango">Mango</html:option>
+				<html:option value="Banana">Banana</html:option>
+				<html:option value="Pineapple">Pineapple</html:option>
+			</html:select></p>
+			</td>
+		</tr>
+	</table>
+	<h2>2. Populating options from arrays and collections</h2>
+	<table width="100%" border="0" cellspacing="10" cellpadding="0">
+		<tr>
+			<td width="33%" valign="top">
+			<p>Option values and labels populated from the same array:</p>
+			<p><html:select property="color1" size="7">
+				<html:options name="colors" />
+				</html:select>
+			</p>
+			</td>
+			<td width="33%" valign="top">
+			<p>Option values and labels populated from different arrays:</p>
+			<p><html:select property="color2" size="7">
+				<html:options name="colorCodes" labelName="colors" />
+			</html:select></p>
+			</td>
+			<td width="33%" valign="top">
+			<p>Option values populated from an array and labels populated from a
+			collection:</p>
+			<p><html:select property="color3" size="7">
+				<html:options name="colorCodes" labelName="colorCollection" />
+			</html:select></p>
+
+			</td>
+		</tr>
+	</table>
+	<h2>3. Populating options from a Collection of LabelValueBeans</h2>
+	<table width="100%" border="0" cellspacing="10" cellpadding="0">
+		<tr valign="top">
+			<td width="33%">
+			<p>Options populated from a Collection of LabelValueBeans, using
+			&lt;html:options&gt;:</p>
+			<p><html:select property="day1" size="7">
+				<html:options collection="days" property="value"
+					labelProperty="label" />
+			</html:select></p>
+			</td>
+			<td width="33%">
+			<p>Options populated from a Collection of LabelValueBeans, using
+			&lt;html:optionsCollection&gt;:</p>
+			<p><html:select property="day2" size="7">
+				<html:optionsCollection name="days" />
+			</html:select></p>
+			</td>
+			<td width="33%">&nbsp;</td>
+		</tr>
+	</table>
+	<h2>4. Populating options from a Collection of custom beans</h2>
+	<table width="100%" border="0" cellspacing="10" cellpadding="0">
+		<tr valign="top">
+			<td width="33%">
+			<p>Options populated from a Collection of BookBeans, using<br />
+			&lt;html:options&gt;:</p>
+			<p><html:select property="book1" size="7">
+				<html:options collection="books" property="isbn"
+					labelProperty="title" />
+			</html:select></p>
+			</td>
+			<td width="33%">
+			<p>Options populated from a Collection of BookBeans, using<br />
+			&lt;html:optionsCollection&gt;:</p>
+			<p><html:select property="book2" size="7">
+				<html:optionsCollection name="books" value="isbn" label="title" />
+			</html:select></p>
+			</td>
+			<td width="33%">&nbsp;</td>
+		</tr>
+	</table>
+	<h2>4. Populating options from a Map</h2>
+	<table width="100%" border="0" cellspacing="10" cellpadding="0">
+		<tr valign="top">
+			<td width="33%">
+			<p>Options populated from a Map, using <br />
+			&lt;html:options&gt;:</p>
+			<p><html:select property="animal1" size="5">
+				<html:options collection="animals" property="key"
+					labelProperty="value" />
+			</html:select></p>
+			</td>
+			<td width="33%">
+			<p>Options populated from a Map, using <br />
+			&lt;html:optionsCollection&gt;:</p>
+			<p><html:select property="animal2" size="5">
+				<html:optionsCollection name="animals" value="key" label="value" />
+			</html:select></p>
+			</td>
+			<td width="33%">&nbsp;</td>
+		</tr>
+	</table>
+
+	<hr />
+	<p><html:submit />
+	   <html:cancel />
+	   <html:reset />
+	</p>
+</html:form>
+
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/options/Options.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/options/Options.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/options/OptionsResults.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/options/OptionsResults.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/options/OptionsResults.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/options/OptionsResults.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Select / Options example results</title>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/options/source.jsp">
+	   <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Select / Options example results</h1>
+<hr noshade="noshade"/>
+
+<p>Fruit 1: <bean:write name="optionsForm" property="fruit1" /></p>
+<p>Fruit 2: <bean:write name="optionsForm" property="fruit2" /></p>
+<p>Fruit 3:
+<logic:iterate name="optionsForm" property="fruit3" id="fruit">
+    <bean:write name="fruit" />
+</logic:iterate>
+</p>
+
+<p>Color 1: <bean:write name="optionsForm" property="color1" /></p>
+<p>Color 2: <bean:write name="optionsForm" property="color2" /></p>
+<p>Color 3: <bean:write name="optionsForm" property="color3" /></p>
+
+<p>Day 1: <bean:write name="optionsForm" property="day1" /></p>
+<p>Day 2: <bean:write name="optionsForm" property="day2" /></p>
+
+<p>Book 1: <bean:write name="optionsForm" property="book1" /></p>
+<p>Book 2: <bean:write name="optionsForm" property="book2" /></p>
+
+<p>Animal 1: <bean:write name="optionsForm" property="animal1" /></p>
+<p>Animal 2: <bean:write name="optionsForm" property="animal2" /></p>
+
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/options/OptionsResults.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/options/OptionsResults.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/options/source.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/options/source.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/options/source.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/options/source.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Source code for Select / Options Example</title>
+<html:xhtml/>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link action="/processOptions">
+	   <img src="../../images/execute.gif" width="24" height="24" alt="Execute example" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Source Code for Select / Options Example</h1>
+<hr noshade="noshade"/>
+
+<h2>JavaServer Pages</h2>
+<p><html:link page="/source.jsp?src=/jsp/options/Options.jsp">Options.jsp</html:link></p>
+<p><html:link page="/source.jsp?src=/jsp/options/OptionsResults.jsp">OptionsResults.jsp</html:link></p>
+
+<h2>Actions</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/options/PrepareOptionsAction.java">PrepareOptionsAction.java</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/options/ProcessOptionsAction.java">ProcessOptionsAction.java</html:link></p>
+
+<h2>ActionForm</h2>
+<p>Configured in struts-config.xml</p>
+
+<h2>Configuration files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/struts-config.xml">struts-config.xml</html:link></p>
+
+<h2>Other source files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/options/BookBean.java">BookBeanAction.java</html:link></p>
+
+</body>
+</html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/options/source.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/options/source.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/simple/Simple.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/simple/Simple.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/simple/Simple.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/simple/Simple.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=utf-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Simple form using ActionForm</title>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/simple/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Simple form using ActionForm</h1>
+<hr noshade="noshade"/>
+
+<p>Enter information into the fields below. Your entries will be displayed when you Submit the form.<br />
+   This is just to demonstrate the Struts html tags. The information that you enter is discarded.</p>
+<p>* = required field</p>
+<hr noshade="noshade" />   
+<html:errors/>
+<html:form action="/processSimple">
+	<p>* What's your first name?:<br/><html:text property="name" size="40" maxlength="50"/></p>
+	<p>* Enter a secret word or phrase:<br/><html:password property="secret" size="40" maxlength="50"/></p>
+	<p>What is your favorite color?:<br/> 
+	  <html:select property="color">
+    	<html:option value="red">Red</html:option>
+	    <html:option value="green">Green</html:option>
+    	<html:option value="blue">Blue</html:option>
+	  </html:select>
+    </p>
+	<p><html:checkbox property="confirm"/>Is that really your favorite color?</p>
+	<p>How much do you like your chosen color?:<br />
+		<html:radio property="rating" value="1">Actually, I hate it.</html:radio><br />
+		<html:radio property="rating" value="2">Not so much.</html:radio><br />
+		<html:radio property="rating" value="3">I'm indifferent</html:radio><br />
+		<html:radio property="rating" value="4">It's pretty neat</html:radio><br />
+		<html:radio property="rating" value="5">I painted my whole house with it.</html:radio>
+	</p>	
+	<p>Enter a message (you may use html tags):<br />
+		<html:textarea property="message" cols="40" rows="6"/>
+	</p>
+	<html:hidden property="hidden" value="Sssh! It's a secret. Nobody knows I'm here."/>
+	<hr noshade="noshade" />   
+	<p>
+		<html:submit>
+			<bean:message key="button.submit" />
+		</html:submit>
+		<html:cancel/>
+	</p>
+</html:form>
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/simple/Simple.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/simple/Simple.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/simple/SimpleResults.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/simple/SimpleResults.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/simple/SimpleResults.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/simple/SimpleResults.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=utf-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Simple ActionForm Example</title>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/simple/source.jsp">
+	   <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Simple Form Results</h1>
+<hr noshade="noshade"/>
+<p>Hello <bean:write name="simpleForm" property="name" />,</p>
+<p><strong>You told me a secret:</strong> <bean:write name="simpleForm" property="secret" /></p>
+<p><strong>You said that your favorite color is:</strong> <bean:write name="simpleForm" property="color" /></p>
+
+<logic:equal name="simpleForm" property="confirm" value="true">
+    <p>You confirmed that this <em>is</em> your favorite color.</p>
+</logic:equal>
+<logic:notEqual name="simpleForm" property="confirm" value="true">
+	<p>... but you lied. Shame on you!</p>
+</logic:notEqual>
+
+<p><strong>On scale of 1 to 5 you rated your color:</strong> 
+	<bean:write	name="simpleForm" property="rating" />
+</p>
+<p><strong>This was lurking in a hidden field:</strong><br /> 
+	<bean:write	name="simpleForm" property="hidden" /></p>
+<p><strong>You wrote this message:</strong></p>
+<p><bean:write name="simpleForm" property="message" filter="false"/></p>
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/simple/SimpleResults.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/simple/SimpleResults.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/simple/source.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/simple/source.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/simple/source.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/simple/source.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=utf-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Source Code for Simple Form Example</title>
+<html:xhtml/>
+<html:base/>
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link action="/processSimple">
+	   <img src="../../images/execute.gif" width="24" height="24" alt="Execute example" class="icon" />
+</html:link>
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Source Code for Simple Form Example</h1>
+<hr noshade="noshade"/>
+
+<h2>JavaServer Pages</h2>
+<p><html:link page="/source.jsp?src=/jsp/simple/Simple.jsp">Simple.jsp</html:link></p>
+<p><html:link page="/source.jsp?src=/jsp/simple/SimpleResults.jsp">SimpleResults.jsp</html:link></p>
+
+<h2>Actions</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/SuccessAction.java">SuccessAction.java</html:link></p>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/simple/ProcessSimpleAction.java">ProcessSimpleAction.java</html:link></p>
+
+<h2>ActionForm</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/src/java/examples/simple/SimpleActionForm.java">SimpleActionForm.java</html:link></p>
+
+<h2>Configuration files</h2>
+<p><html:link page="/source.jsp?src=/WEB-INF/struts-config.xml">struts-config.xml</html:link></p>
+
+<h2>Other source files</h2>
+<p>None</p>
+
+</body>
+</html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/simple/source.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/simple/source.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev

Added: struts/apps/trunk/cookbook/src/webapp/jsp/token/Token.jsp
URL: http://svn.apache.org/viewcvs/struts/apps/trunk/cookbook/src/webapp/jsp/token/Token.jsp?rev=289708&view=auto
==============================================================================
--- struts/apps/trunk/cookbook/src/webapp/jsp/token/Token.jsp (added)
+++ struts/apps/trunk/cookbook/src/webapp/jsp/token/Token.jsp Fri Sep 16 22:55:45 2005
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<%@ page language="java" contentType="text/html; charset=utf-8" %>
+<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
+<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
+
+<html:html xhtml="true" lang="true">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>Token Example</title>
+<html:base />
+<link rel="stylesheet" type="text/css" href="../../css/example.css" />
+</head>
+<body>
+<html:link page="/jsp/token/source.jsp">
+  <img src="../../images/code.gif" width="24" height="24" alt="View Source" class="icon" />
+</html:link> 
+<a href="../../index.jsp"><img src="../../images/return.gif" height="24" width="24" alt="Return to examples page" class="icon" /></a>
+<h1>Controlling duplicate form submission using a token</h1>
+<hr noshade="noshade"/>
+
+<p>Enter information into the fields below. Your entries will be displayed when you Submit the form.<br />
+This is just to demonstrate the Struts html tags. The information that you enter is discarded.</p>
+<p>There is no validation in this example. See the <html:link action="/prepareValidator">validator example</html:link> for use of
+  validation with dynaforms.</p>
+<hr noshade="noshade" />   
+<html:errors/>
+<html:form action="/processToken">
+	<p>What's your first name?:<br/>
+<html:text property="name" size="40" maxlength="50"/></p>
+	<p> Enter a secret word or phrase:<br/>
+<html:password property="secret" size="40" maxlength="50"/></p>
+	<p>What is your favorite color?:<br/> 
+	  <html:select property="color">
+    	<html:option value="red">Red</html:option>
+	    <html:option value="green">Green</html:option>
+    	<html:option value="blue">Blue</html:option>
+	  </html:select>
+    </p>
+	<p><html:checkbox property="confirm"/>Is that really your favorite color?</p>
+	<p>How much do you like your chosen color?:<br />
+		<html:radio property="rating" value="1">Actually, I hate it.</html:radio><br />
+		<html:radio property="rating" value="2">Not so much.</html:radio><br />
+		<html:radio property="rating" value="3">I'm indifferent</html:radio><br />
+		<html:radio property="rating" value="4">It's pretty neat</html:radio><br />
+		<html:radio property="rating" value="5">I painted my whole house with it.</html:radio>
+	</p>	
+	<p>Enter a message (you may use html tags):<br />
+		<html:textarea property="message" cols="40" rows="6"/>
+	</p>
+	<html:hidden property="hidden" value="Sssh! It's a secret. Nobody knows I'm here."/>
+	<hr noshade="noshade" />   
+	<p>
+		<html:submit>
+			<bean:message key="button.submit" />
+		</html:submit>
+		<html:cancel/>
+	</p>
+</html:form>
+
+</body>
+</html:html>
\ No newline at end of file

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/token/Token.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: struts/apps/trunk/cookbook/src/webapp/jsp/token/Token.jsp
------------------------------------------------------------------------------
    svn:keywords = date author id rev



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org