Author: husted
Date: Fri Apr  7 13:11:07 2006
New Revision: 392376

URL: http://svn.apache.org/viewcvs?rev=392376&view=rev
Log:
MailReader Course
* Add lab 3-3

Added:
    struts/sandbox/trunk/mailreader-course/action2/lab-3-2/lab-3-2.iml
    struts/sandbox/trunk/mailreader-course/action2/lab-3-3/
      - copied from r392338, 
struts/sandbox/trunk/mailreader-course/action2/lab-3-2/
    struts/sandbox/trunk/mailreader-course/action2/lab-3-3/lab-3-3.iml
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave-validation.xml
   (with props)
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave.java
   (with props)
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe-validation.xml
   (with props)
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe.java  
 (with props)
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave-validation.xml
   (with props)
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave.java
   (with props)
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Subscribe.jsp
   (with props)
Removed:
    struts/sandbox/trunk/mailreader-course/action2/lab-3-2/lab-3-1.iml
    struts/sandbox/trunk/mailreader-course/action2/lab-3-3/lab-3-1.iml
Modified:
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/java/Register-validation.xml
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/webapp/pages/Register.jsp
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/MailReaderSupport.java
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Register-validation.xml
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/resources.properties
    struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/xwork.xml
    
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Register.jsp
    struts/sandbox/trunk/mailreader-course/action2/mailreader-course-action2.ipr

Added: struts/sandbox/trunk/mailreader-course/action2/lab-3-2/lab-3-2.iml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-2/lab-3-2.iml?rev=392376&view=auto
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-3-2/lab-3-2.iml (added)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-3-2/lab-3-2.iml Fri Apr  
7 13:11:07 2006
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="J2EE_WEB_MODULE" 
j2ee-integration="Tomcat Server">
+  <component name="ModuleRootManager" />
+  <component name="NewModuleRootManager">
+    <output 
url="file://C:/opt/Apache/Tomcat-5.0/webapps/lab-3-2/WEB-INF/classes" />
+    <exclude-output />
+    <exploded url="file://C:/opt/Apache/Tomcat-5.0/webapps/lab-3-2" />
+    <exclude-exploded />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Tomcat" 
level="application_server_libraries" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$APPLICATION_HOME_DIR$/lib/junit.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/webwork-2.2.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/spring-core.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/ognl.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/spring-web.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root 
url="jar://$MODULE_DIR$/../../lib/commons-collections-3.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/rife-continuations.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/xwork-1.1.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root 
url="jar://$MODULE_DIR$/../../lib/struts-mailreader-dao-1.3.0-dev.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/spring-beans.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/commons-logging-1.0.4.jar!/" 
/>
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/commons-digester-1.6.jar!/" 
/>
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/spring-context.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/oscore.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/struts-taglib-1.3.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/freemarker.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntryProperties />
+  </component>
+  <component name="WebModuleBuildComponent">
+    <setting name="EXPLODED_URL" 
value="file://C:/opt/Apache/Tomcat-5.0/webapps/lab-3-2" />
+    <setting name="EXPLODED_ENABLED" value="true" />
+    <setting name="JAR_URL" value="file://" />
+    <setting name="JAR_ENABLED" value="false" />
+    <setting name="SYNC_EXPLODED_DIR" value="true" />
+    <setting name="BUILD_ON_FRAME_DEACTIVATION" value="false" />
+    <setting name="RUN_JASPER_VALIDATION" value="false" />
+  </component>
+  <component name="WebModuleProperties">
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/junit.jar" />
+      <url>jar://$APPLICATION_HOME_DIR$/lib/junit.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/commons-collections-3.1.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/commons-collections-3.1.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/commons-digester-1.6.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/commons-digester-1.6.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/commons-logging-1.0.4.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/commons-logging-1.0.4.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/freemarker.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/freemarker.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/ognl.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/ognl.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/oscore.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/oscore.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/rife-continuations.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/rife-continuations.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/spring-beans.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/spring-beans.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/spring-context.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/spring-context.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/spring-core.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/spring-core.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/spring-web.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/spring-web.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" 
value="/WEB-INF/lib/struts-mailreader-dao-1.3.0-dev.jar" />
+      
<url>jar://$MODULE_DIR$/../../lib/struts-mailreader-dao-1.3.0-dev.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/struts-taglib-1.3.0.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/struts-taglib-1.3.0.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/webwork-2.2.2.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/webwork-2.2.2.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/xwork-1.1.2.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/xwork-1.1.2.jar!/</url>
+    </containerElement>
+    <deploymentDescriptor name="web.xml" 
url="file://$MODULE_DIR$/src/webapp/WEB-INF/web.xml" optional="false" 
version="2.3" />
+    <deploymentDescriptor name="context.xml" 
url="file://$MODULE_DIR$/META-INF/context.xml" optional="false" version="5.x" />
+    <webroots>
+      <root url="file://$MODULE_DIR$/src/webapp" relative="/" />
+      <root url="file://$MODULE_DIR$/src/java" relative="/WEB-INF/src/java" />
+      <root url="file://$MODULE_DIR$/src/test" relative="/WEB-INF/src/test" />
+    </webroots>
+  </component>
+  <component name="WeblogicWebModuleProperties">
+    <option name="IS_RUN_APPC" value="false" />
+  </component>
+</module>
+

Modified: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/java/Register-validation.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/java/Register-validation.xml?rev=392376&r1=392375&r2=392376&view=diff
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/java/Register-validation.xml
 (original)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/java/Register-validation.xml
 Fri Apr  7 13:11:07 2006
@@ -8,13 +8,13 @@
         </field-validator>
     </field>
 
-    <field name="user.fullName">
+    <field name="fullName">
         <field-validator type="requiredstring">
             <message key="error.fullName.required"/>
         </field-validator>
     </field>
 
-    <field name="user.fromAddress">
+    <field name="fromAddress">
         <field-validator type="requiredstring">
             <message key="error.fromAddress.required"/>
         </field-validator>
@@ -23,7 +23,7 @@
         </field-validator>
     </field>
 
-    <field name="user.replyToAddress">
+    <field name="replyToAddress">
         <field-validator type="email">
             <message key="errors.email"/>
         </field-validator>

Modified: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/webapp/pages/Register.jsp
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/webapp/pages/Register.jsp?rev=392376&r1=392375&r2=392376&view=diff
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/webapp/pages/Register.jsp
 (original)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-2/src/webapp/pages/Register.jsp
 Fri Apr  7 13:11:07 2006
@@ -30,13 +30,13 @@
     <ww:password label="%{getText('password2')}" name="password2"/>
 
     <ww:textfield label="%{getText('fullName')}"
-                   name="user.fullName"/>
+                   name="fullName"/>
 
     <ww:textfield label="%{getText('fromAddress')}"
-                   name="user.fromAddress"/>
+                   name="fromAddress"/>
 
     <ww:textfield label="%{getText('replyToAddress')}"
-                   name="user.replyToAddress"/>
+                   name="replyToAddress"/>
 
     <ww:if test="task == 'Create'">
         <ww:submit value="%{getText('button.save')}" action="RegisterSave"/>

Added: struts/sandbox/trunk/mailreader-course/action2/lab-3-3/lab-3-3.iml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/lab-3-3.iml?rev=392376&view=auto
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-3-3/lab-3-3.iml (added)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-3-3/lab-3-3.iml Fri Apr  
7 13:11:07 2006
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="J2EE_WEB_MODULE" 
j2ee-integration="Tomcat Server">
+  <component name="ModuleRootManager" />
+  <component name="NewModuleRootManager">
+    <output 
url="file://C:/opt/Apache/Tomcat-5.0/webapps/lab-3-3/WEB-INF/classes" />
+    <exclude-output />
+    <exploded url="file://C:/opt/Apache/Tomcat-5.0/webapps/lab-3-3" />
+    <exclude-exploded />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Tomcat" 
level="application_server_libraries" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$APPLICATION_HOME_DIR$/lib/junit.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/xwork-1.1.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/oscore.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/webwork-2.2.2.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root 
url="jar://$MODULE_DIR$/../../lib/commons-collections-3.1.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/freemarker.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/struts-taglib-1.3.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/ognl.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/spring-core.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/commons-digester-1.6.jar!/" 
/>
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/commons-logging-1.0.4.jar!/" 
/>
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root 
url="jar://$MODULE_DIR$/../../lib/struts-mailreader-dao-1.3.0-dev.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/spring-web.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/spring-context.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/rife-continuations.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../lib/spring-beans.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntryProperties />
+  </component>
+  <component name="WebModuleBuildComponent">
+    <setting name="EXPLODED_URL" 
value="file://C:/opt/Apache/Tomcat-5.0/webapps/lab-3-3" />
+    <setting name="EXPLODED_ENABLED" value="true" />
+    <setting name="JAR_URL" value="file://" />
+    <setting name="JAR_ENABLED" value="false" />
+    <setting name="SYNC_EXPLODED_DIR" value="true" />
+    <setting name="BUILD_ON_FRAME_DEACTIVATION" value="false" />
+    <setting name="RUN_JASPER_VALIDATION" value="false" />
+  </component>
+  <component name="WebModuleProperties">
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/junit.jar" />
+      <url>jar://$APPLICATION_HOME_DIR$/lib/junit.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/commons-collections-3.1.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/commons-collections-3.1.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/commons-digester-1.6.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/commons-digester-1.6.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/commons-logging-1.0.4.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/commons-logging-1.0.4.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/freemarker.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/freemarker.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/ognl.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/ognl.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/oscore.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/oscore.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/rife-continuations.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/rife-continuations.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/spring-beans.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/spring-beans.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/spring-context.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/spring-context.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/spring-core.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/spring-core.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/spring-web.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/spring-web.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" 
value="/WEB-INF/lib/struts-mailreader-dao-1.3.0-dev.jar" />
+      
<url>jar://$MODULE_DIR$/../../lib/struts-mailreader-dao-1.3.0-dev.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/struts-taglib-1.3.0.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/struts-taglib-1.3.0.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/webwork-2.2.2.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/webwork-2.2.2.jar!/</url>
+    </containerElement>
+    <containerElement type="library" level="module">
+      <attribute name="method" value="1" />
+      <attribute name="URI" value="/WEB-INF/lib/xwork-1.1.2.jar" />
+      <url>jar://$MODULE_DIR$/../../lib/xwork-1.1.2.jar!/</url>
+    </containerElement>
+    <deploymentDescriptor name="web.xml" 
url="file://$MODULE_DIR$/src/webapp/WEB-INF/web.xml" optional="false" 
version="2.3" />
+    <deploymentDescriptor name="context.xml" 
url="file://$MODULE_DIR$/META-INF/context.xml" optional="false" version="5.x" />
+    <webroots>
+      <root url="file://$MODULE_DIR$/src/webapp" relative="/" />
+      <root url="file://$MODULE_DIR$/src/java" relative="/WEB-INF/src/java" />
+      <root url="file://$MODULE_DIR$/src/test" relative="/WEB-INF/src/test" />
+    </webroots>
+  </component>
+  <component name="WeblogicWebModuleProperties">
+    <option name="IS_RUN_APPC" value="false" />
+  </component>
+</module>
+

Modified: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/MailReaderSupport.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/MailReaderSupport.java?rev=392376&r1=392338&r2=392376&view=diff
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/MailReaderSupport.java
 (original)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/MailReaderSupport.java
 Fri Apr  7 13:11:07 2006
@@ -5,6 +5,8 @@
 import org.apache.struts.apps.mailreader.dao.ExpiredPasswordException;
 import org.apache.struts.apps.mailreader.dao.User;
 import org.apache.struts.apps.mailreader.dao.UserDatabase;
+import org.apache.struts.apps.mailreader.dao.Subscription;
+import org.apache.struts.apps.mailreader.dao.impl.memory.MemorySubscription;
 
 import java.util.Map;
 
@@ -73,6 +75,18 @@
         replyToAddress = value;
     }
 
+    // ---- Subscription form properties ----
+
+    private String host;
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String value) {
+        host = value;
+    }
+
     // ---- Task property (utilized by UI) ----
 
     private String task = null;
@@ -89,8 +103,12 @@
 
     public static final String DATABASE_KEY = "database";
 
+    public static final String SUBSCRIPTION_KEY = "subscription";
+
     public static final String USER_KEY = "user";
 
+    public static final String HOST = "host";
+
     public static final String PASSWORD_MISMATCH_FIELD = "password";
 
     public static final String CANCEL = "cancel";
@@ -99,6 +117,8 @@
 
     public static final String EDIT = "Edit";
 
+    public static final String DELETE = "Delete";
+
     // ---- Message Keys ----
 
     public static final String ERROR_DATABASE_MISSING =
@@ -113,6 +133,9 @@
     public static final String ERROR_PASSWORD_MATCH =
             "error.password.match";
 
+    public static final String ERROR_HOST_UNIQUE
+            = "That hostname is already defined";
+
     // ---- ApplicationAware ----
 
     private Map application;
@@ -164,6 +187,25 @@
         return session;
     }
 
+    // ---- Subscription property ----
+
+    public Subscription getSubscription() {
+        return (Subscription) getSession().get(SUBSCRIPTION_KEY);
+    }
+
+    public void setSubscription(Subscription subscription) {
+        getSession().put(SUBSCRIPTION_KEY, subscription);
+    }
+
+
+    public String getSubscriptionHost() {
+        Subscription sub = getSubscription();
+        if (null == sub) {
+            return null;
+        }
+        return sub.getHost();
+    }
+
     // ---- User property ----
 
     /**
@@ -223,6 +265,57 @@
     public void saveUser() throws Exception {
         getDatabase().save();
     }
+
+    /**
+     * <p>Provide a "temporary" User Subscription object
+     * that can be used tocapture input values.</p>
+     */
+    public void createInputSubscription() {
+        Subscription sub = new MemorySubscription(getUser(), null);
+        setSubscription(sub);
+        setHost(sub.getHost());
+    }
+
+    public Subscription findSubscription(String host) {
+        Subscription subscription;
+        subscription = getUser().findSubscription(host);
+        return subscription;
+    }
+
+    public Subscription findSubscription() {
+        return findSubscription(getHost());
+    }
+
+    public void removeSubscription()  {
+        getUser().removeSubscription(getSubscription());
+        getSession().remove(SUBSCRIPTION_KEY);
+    }
+
+    public void copySubscription(String host) {
+        Subscription input = getSubscription();
+        Subscription sub = createSubscription(host);
+        if (null != sub) {
+            BeanUtils.setValues(sub, input, null);
+            setSubscription(sub);
+            setHost(sub.getHost());
+        }
+    }
+
+    public Subscription createSubscription(String host) {
+
+        Subscription sub;
+
+        sub = findSubscription(host);
+
+        if (null != sub) {
+            // FIXME - localization - "error.host.unique")
+            addFieldError(HOST,ERROR_HOST_UNIQUE);
+            return null;
+        }
+
+        return getUser().createSubscription(host);
+    }
+
 
     // ---- Alias ----
 

Modified: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Register-validation.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Register-validation.xml?rev=392376&r1=392338&r2=392376&view=diff
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Register-validation.xml
 (original)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Register-validation.xml
 Fri Apr  7 13:11:07 2006
@@ -8,13 +8,13 @@
         </field-validator>
     </field>
 
-    <field name="user.fullName">
+    <field name="fullName">
         <field-validator type="requiredstring">
             <message key="error.fullName.required"/>
         </field-validator>
     </field>
 
-    <field name="user.fromAddress">
+    <field name="fromAddress">
         <field-validator type="requiredstring">
             <message key="error.fromAddress.required"/>
         </field-validator>
@@ -23,7 +23,7 @@
         </field-validator>
     </field>
 
-    <field name="user.replyToAddress">
+    <field name="replyToAddress">
         <field-validator type="email">
             <message key="errors.email"/>
         </field-validator>

Added: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave-validation.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave-validation.xml?rev=392376&view=auto
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave-validation.xml
 (added)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave-validation.xml
 Fri Apr  7 13:11:07 2006
@@ -0,0 +1,28 @@
+<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" 
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd";>
+
+<validators>
+
+    <field name="password">
+        <field-validator type="requiredstring">
+            <message key="error.password.required"/>
+        </field-validator>
+        <field-validator type="stringlength">
+            <param name="trim">true</param>
+            <param name="minLength">4</param>
+            <param name="maxLength">10</param>
+            <message key="errors.range"/>
+        </field-validator>
+    </field>
+
+    <field name="password2">
+        <field-validator type="requiredstring">
+            <message key="error.password2.required"/>
+        </field-validator>
+    </field>
+
+    <validator type="expression">
+        <param name="expression">password eq password2</param>
+        <message key="error.password.match"/>
+    </validator>
+
+</validators>

Propchange: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave-validation.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave.java?rev=392376&view=auto
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave.java
 (added)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave.java
 Fri Apr  7 13:11:07 2006
@@ -0,0 +1,5 @@
+/**
+ * <p>Stub class to allow extra validation on initial Save.</p>
+ */
+public class RegisterSave extends Register {
+}

Propchange: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/RegisterSave.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe-validation.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe-validation.xml?rev=392376&view=auto
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe-validation.xml
 (added)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe-validation.xml
 Fri Apr  7 13:11:07 2006
@@ -0,0 +1,11 @@
+<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" 
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd";>
+
+<validators>
+
+    <field name="host">
+        <field-validator type="requiredstring">
+            <message key="error.host.required"/>
+        </field-validator>
+    </field>
+
+</validators>

Propchange: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe-validation.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe.java?rev=392376&view=auto
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe.java 
(added)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe.java 
Fri Apr  7 13:11:07 2006
@@ -0,0 +1,74 @@
+import com.opensymphony.xwork.Preparable;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+public class Subscribe extends MailReaderSupport
+        implements Preparable {
+
+    private Map types = null;
+
+    public Map getTypes() {
+        return types;
+    }
+
+    public void prepare() {
+
+        Map m = new LinkedHashMap();
+        m.put("imap", "IMAP Protocol");
+        m.put("pop3", "POP3 Protocol");
+        types = m;
+
+        setHost(getSubscriptionHost());
+    }
+
+    public String input() {
+        createInputSubscription();
+        setTask(CREATE);
+        return INPUT;
+    }
+
+    public String find() {
+
+        org.apache.struts.apps.mailreader.dao.Subscription
+                sub = findSubscription();
+
+        if (sub == null) {
+            return ERROR;
+        }
+
+        setSubscription(sub);
+
+        return INPUT;
+
+    }
+
+    public String delete() {
+
+        setTask(DELETE);
+        return find();
+    }
+
+    public String edit() {
+
+        setTask(EDIT);
+        return find();
+    }
+
+    public String save() throws Exception {
+
+        if (DELETE.equals(getTask())) {
+            removeSubscription();
+        }
+
+        if (CREATE.equals(getTask())) {
+            copySubscription(getHost());
+        }
+
+        if (hasErrors()) return INPUT;
+
+        saveUser();
+        return SUCCESS;
+    }
+
+}

Propchange: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/Subscribe.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave-validation.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave-validation.xml?rev=392376&view=auto
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave-validation.xml
 (added)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave-validation.xml
 Fri Apr  7 13:11:07 2006
@@ -0,0 +1,23 @@
+<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" 
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd";>
+
+<validators>
+
+    <field name="subscription.username">
+        <field-validator type="requiredstring">
+            <message key="error.username.required"/>
+        </field-validator>
+    </field>
+
+    <field name="subscription.password">
+        <field-validator type="requiredstring">
+            <message key="error.password.required"/>
+        </field-validator>
+    </field>
+
+    <field name="subscription.type">
+        <field-validator type="requiredstring">
+            <message key="error.type.invalid"/>
+        </field-validator>
+    </field>
+
+</validators>

Propchange: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave-validation.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave.java
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave.java?rev=392376&view=auto
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave.java
 (added)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave.java
 Fri Apr  7 13:11:07 2006
@@ -0,0 +1,12 @@
+public final class SubscribeSave extends Subscribe {
+
+    public void prepare() {
+        super.prepare();
+            // checkbox workaround
+        getSubscription().setAutoConnect(false);
+    }
+
+    public String execute() throws Exception {
+        return save();
+    }
+}

Propchange: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/SubscribeSave.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/resources.properties
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/resources.properties?rev=392376&r1=392338&r2=392376&view=diff
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/resources.properties
 (original)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/resources.properties
 Fri Apr  7 13:11:07 2006
@@ -16,6 +16,8 @@
 
 button.cancel=Cancel
 button.save=Save
+button.reset=Reset
+button.confirm=Confirm
 
 menu.title=MailReader - Main Menu
 menu.heading=Menu Options for
@@ -42,11 +44,9 @@
 error.type.required=Server Type is required
 
 # Future use
-button.confirm=Confirm
 button.doSubmit=DO_SUBMIT
 button.doReset=DO_RESULT
 button.doCancel=org.apache.struts.taglib.html.CANCEL
-button.reset=Reset
 change.message=Your password has expired.  Please ask the system administrator 
to change it.
 change.try=Try Again
 change.title=Password Has Expired

Modified: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/xwork.xml
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/xwork.xml?rev=392376&r1=392338&r2=392376&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/xwork.xml 
(original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/java/xwork.xml 
Fri Apr  7 13:11:07 2006
@@ -44,5 +44,15 @@
             <result type="redirect-action">Menu</result>
         </action>
 
+        <action name="Subscribe" class="Subscribe">
+            <result name="input">/pages/Subscribe.jsp</result>
+            <result type="redirect-action">Register!input</result>
+        </action>
+
+        <action name="SubscribeSave" class="SubscribeSave">
+            <result name="input">/pages/Subscribe.jsp</result>
+            <result type="redirect-action">Register!input</result>
+        </action>
+
     </package>
 </xwork>

Modified: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Register.jsp
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Register.jsp?rev=392376&r1=392338&r2=392376&view=diff
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Register.jsp
 (original)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Register.jsp
 Fri Apr  7 13:11:07 2006
@@ -30,13 +30,13 @@
     <ww:password label="%{getText('password2')}" name="password2"/>
 
     <ww:textfield label="%{getText('fullName')}"
-                   name="user.fullName"/>
+                   name="fullName"/>
 
     <ww:textfield label="%{getText('fromAddress')}"
-                   name="user.fromAddress"/>
+                   name="fromAddress"/>
 
     <ww:textfield label="%{getText('replyToAddress')}"
-                   name="user.replyToAddress"/>
+                   name="replyToAddress"/>
 
     <ww:if test="task == 'Create'">
         <ww:submit value="%{getText('button.save')}" action="RegisterSave"/>
@@ -56,6 +56,66 @@
     </ww:else>
 
 </ww:form>
+
+<ww:if test="task == 'Edit'">
+    <div align="center">
+        <h3><ww:text name="heading.subscriptions"/></h3>
+    </div>
+
+    <table border="1" width="100%">
+
+        <tr>
+            <th align="center" width="30%">
+                <ww:text name="heading.host"/>
+            </th>
+            <th align="center" width="25%">
+                <ww:text name="heading.user"/>
+            </th>
+            <th align="center" width="10%">
+                <ww:text name="heading.type"/>
+            </th>
+            <th align="center" width="10%">
+                <ww:text name="heading.autoConnect"/>
+            </th>
+            <th align="center" width="15%">
+                <ww:text name="heading.action"/>
+            </th>
+        </tr>
+
+        <ww:iterator value="user.subscriptions">
+            <tr>
+                <td align="left">
+                    <ww:property value="host"/>
+                </td>
+                <td align="left">
+                    <ww:property value="username"/>
+                </td>
+                <td align="center">
+                    <ww:property value="type"/>
+                </td>
+                <td align="center">
+                    <ww:property value="autoConnect"/>
+                </td>
+                <td align="center">
+
+                    <a href="<ww:url action="Subscribe!delete"><ww:param 
name="host" value="host"/></ww:url>">
+                        <ww:text name="registration.deleteSubscription"/>
+                    </a>
+                    &nbsp;
+                    <a href="<ww:url action="Subscribe!edit"><ww:param 
name="host" value="host"/></ww:url>">
+                        <ww:text name="registration.editSubscription"/>
+                    </a>
+
+                </td>
+            </tr>
+        </ww:iterator>
+
+    </table>
+
+    <a href="<ww:url action="Subscribe!input"/>"><ww:text
+            name="registration.addSubscription"/></a>
+
+</ww:if>
 
 </body>
 </html>

Added: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Subscribe.jsp
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Subscribe.jsp?rev=392376&view=auto
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Subscribe.jsp
 (added)
+++ 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Subscribe.jsp
 Fri Apr  7 13:11:07 2006
@@ -0,0 +1,63 @@
+<%@ page contentType="text/html; charset=UTF-8" %>
+<%@ taglib uri="/webwork" prefix="ww" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+    <ww:if test="task=='Create'">
+        <title><ww:text name="subscription.title.create"/></title>
+    </ww:if>
+    <ww:if test="task=='Edit'">
+        <title><ww:text name="subscription.title.edit"/></title>
+    </ww:if>
+    <ww:if test="task=='Delete'">
+        <title><ww:text name="subscription.title.delete"/></title>
+    </ww:if>
+</head>
+
+<body onLoad="self.focus();document.Subscribe.username.focus()">
+
+<ww:actionerror/>
+<ww:form method="POST" action="SubscribeSave" validate="true">
+    <ww:hidden name="task"/>
+    <ww:label label="%{getText('username')}" name="user.username"/>
+
+    <ww:if test="task == 'Create'">
+        <ww:textfield label="%{getText('mailHostname')}" name="host"/>
+    </ww:if>
+    <ww:else>
+        <ww:label label="%{getText('mailHostname')}" name="host"/>
+        <ww:hidden name="host"/>
+    </ww:else>
+
+    <ww:if test="task == 'Delete'">
+        <ww:label label="%{getText('mailUsername')}"
+                   name="subscription.username"/>
+        <ww:label label="%{getText('mailPassword')}"
+                   name="subscription.password"/>
+        <ww:label label="%{getText('mailServerType')}"
+                   name="subscription.type"/>
+        <ww:label label="%{getText('autoConnect')}"
+                   name="subscription.autoConnect"/>
+        <ww:submit value="%{getText('button.confirm')}"/>
+    </ww:if>
+    <ww:else>
+        <ww:textfield label="%{getText('mailUsername')}"
+                       name="subscription.username"/>
+        <ww:textfield label="%{getText('mailPassword')}"
+                       name="subscription.password"/>
+        <ww:select label="%{getText('mailServerType')}"
+                    name="subscription.type" list="types"/>
+        <ww:checkbox label="%{getText('autoConnect')}"
+                      name="subscription.autoConnect"/>
+        <ww:submit value="%{getText('button.save')}"/>
+        <ww:reset value="%{getText('button.reset')}"/>
+    </ww:else>
+
+    <ww:submit action="Register!input"
+                value="%{getText('button.cancel')}"
+                onclick="form.onsubmit=null"/>
+</ww:form>
+
+</body>
+</html>

Propchange: 
struts/sandbox/trunk/mailreader-course/action2/lab-3-3/src/webapp/pages/Subscribe.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
struts/sandbox/trunk/mailreader-course/action2/mailreader-course-action2.ipr
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/mailreader-course-action2.ipr?rev=392376&r1=392375&r2=392376&view=diff
==============================================================================
--- 
struts/sandbox/trunk/mailreader-course/action2/mailreader-course-action2.ipr 
(original)
+++ 
struts/sandbox/trunk/mailreader-course/action2/mailreader-course-action2.ipr 
Fri Apr  7 13:11:07 2006
@@ -201,6 +201,7 @@
       <module fileurl="file://$PROJECT_DIR$/lab-2-3/lab-2-3.iml" 
filepath="$PROJECT_DIR$/lab-2-3/lab-2-3.iml" />
       <module fileurl="file://$PROJECT_DIR$/lab-3-1/lab-3-1.iml" 
filepath="$PROJECT_DIR$/lab-3-1/lab-3-1.iml" />
       <module fileurl="file://$PROJECT_DIR$/lab-3-2/lab-3-2.iml" 
filepath="$PROJECT_DIR$/lab-3-2/lab-3-2.iml" />
+      <module fileurl="file://$PROJECT_DIR$/lab-3-3/lab-3-3.iml" 
filepath="$PROJECT_DIR$/lab-3-3/lab-3-3.iml" />
       <module fileurl="file://$PROJECT_DIR$/mailreader-course-action2.iml" 
filepath="$PROJECT_DIR$/mailreader-course-action2.iml" />
     </modules>
   </component>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to