You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by jm...@apache.org on 2005/01/30 03:02:56 UTC
svn commit: r149093 - in struts/apps/trunk: . dao dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory dao/src/test dao/src/test/org/apache/struts/apps/mailreader/dao dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory shared shared/src/webapp shared/src/webapp/WEB-INF
Author: jmitchell
Date: Sat Jan 29 18:02:55 2005
New Revision: 149093
URL: http://svn.apache.org/viewcvs?view=rev&rev=149093
Log:
More apps changes
Added:
struts/apps/trunk/dao/project.xml (contents, props changed)
struts/apps/trunk/dao/src/test/database.xml (contents, props changed)
struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/
struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java (contents, props changed)
Removed:
struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/TestUserDatabase.java
Modified:
struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUser.java
struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabase.java
struts/apps/trunk/maven.xml
struts/apps/trunk/project.xml
struts/apps/trunk/shared/project.xml
struts/apps/trunk/shared/src/webapp/Error.jsp
struts/apps/trunk/shared/src/webapp/WEB-INF/app.tld
struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config-registration.xml
struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config.xml
struts/apps/trunk/shared/src/webapp/tour.html
Added: struts/apps/trunk/dao/project.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/dao/project.xml?view=auto&rev=149093
==============================================================================
--- (empty file)
+++ struts/apps/trunk/dao/project.xml Sat Jan 29 18:02:55 2005
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<project>
+ <extend>${basedir}/../project.xml</extend>
+ <id>struts</id>
+ <artifactId>struts-mailreader-dao</artifactId>
+ <name>Struts mailreader DAO</name>
+ <package>org.apache.struts.apps.mailreader.dao.*</package>
+
+ <description>A pluggable psuedo DAO layer for the Struts mailreader web application</description>
+ <shortDescription>DAO layer for the Struts mailreader app</shortDescription>
+
+ <dependencies/>
+
+</project>
Modified: struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUser.java
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUser.java?view=diff&rev=149093&p1=struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUser.java&r1=149092&p2=struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUser.java&r2=149093
==============================================================================
--- struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUser.java (original)
+++ struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUser.java Sat Jan 29 18:02:55 2005
@@ -34,7 +34,7 @@
* @since Struts 1.1
*/
-public final class MemoryUser implements User {
+public class MemoryUser implements User {
// ----------------------------------------------------------- Constructors
Modified: struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabase.java
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabase.java?view=diff&rev=149093&p1=struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabase.java&r1=149092&p2=struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabase.java&r2=149093
==============================================================================
--- struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabase.java (original)
+++ struts/apps/trunk/dao/src/java/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabase.java Sat Jan 29 18:02:55 2005
@@ -236,12 +236,12 @@
writer.println("<database>");
// Print entries for each defined user and associated subscriptions
- User users[] = findUsers();
- for (int i = 0; i < users.length; i++) {
+ User yusers[] = findUsers();
+ for (int i = 0; i < yusers.length; i++) {
writer.print(" ");
- writer.println(users[i]);
+ writer.println(yusers[i]);
Subscription subscriptions[] =
- users[i].getSubscriptions();
+ yusers[i].getSubscriptions();
for (int j = 0; j < subscriptions.length; j++) {
writer.print(" ");
writer.println(subscriptions[j]);
Added: struts/apps/trunk/dao/src/test/database.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/dao/src/test/database.xml?view=auto&rev=149093
==============================================================================
--- (empty file)
+++ struts/apps/trunk/dao/src/test/database.xml Sat Jan 29 18:02:55 2005
@@ -0,0 +1,9 @@
+<?xml version='1.0'?>
+<database>
+ <user username="user" fromAddress="John.User@somewhere.com" fullName="John Q. User" password="pass">
+ <subscription host="mail.hotmail.com" autoConnect="false" password="bar" type="pop3" username="user1234">
+ </subscription>
+ <subscription host="mail.yahoo.com" autoConnect="false" password="foo" type="imap" username="jquser">
+ </subscription>
+ </user>
+</database>
Deleted: /struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/TestUserDatabase.java
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/TestUserDatabase.java?view=auto&rev=149092
==============================================================================
Added: struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java?view=auto&rev=149093
==============================================================================
--- (empty file)
+++ struts/apps/trunk/dao/src/test/org/apache/struts/apps/mailreader/dao/impl/memory/MemoryUserDatabaseTest.java Sat Jan 29 18:02:55 2005
@@ -0,0 +1,64 @@
+/*
+ * Created on Jan 29, 2005
+ * Author:jmitchell
+ *
+ */
+package org.apache.struts.apps.mailreader.dao.impl.memory;
+
+import java.io.BufferedOutputStream;
+import java.io.FileOutputStream;
+import java.io.ObjectOutputStream;
+
+import junit.framework.TestCase;
+
+
+/**
+ * TODO Complete use case tests for:
+ * - open, findUser(existing), close
+ * - open, findUser(bogus), close
+ * - open, findUsers(), close
+ * - open, createUser1, find(new one 1), close
+ * - open, createUser2, find(existing), close
+ * - open, createUser3, findUsers(all), close
+ * - open, findUsers(all), close
+ * - open, find(new one 1), close
+ * - open, find(new one 2), close
+ * - open, find(new one 3), close
+ * - open, find(new one 1), find(new one 3), close
+ * - open, remove2, find(new one2)
+ *
+ */
+public class MemoryUserDatabaseTest extends TestCase {
+
+ private MemoryUserDatabase memoryUserDatabase;
+ private String defaultPathName = "dao/target/test-classes/database.xml";
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ memoryUserDatabase = new MemoryUserDatabase();
+ memoryUserDatabase.setPathname(defaultPathName);
+ memoryUserDatabase.open();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ memoryUserDatabase.close();
+ }
+
+ public void testGetPathname() {
+ assertTrue("Checking defaultPathName", defaultPathName.equals(memoryUserDatabase.getPathname()));
+ }
+
+ public void testSetPathname() {
+ String newPath = "new-path.xml";
+
+ assertTrue("Check setPathname()", defaultPathName.equals(memoryUserDatabase.getPathname()));
+ memoryUserDatabase.setPathname(newPath);
+ assertTrue("Check setPathname()", newPath.equals(memoryUserDatabase.getPathname()));
+ memoryUserDatabase.setPathname(defaultPathName);
+ assertTrue("Check setPathname()", defaultPathName.equals(memoryUserDatabase.getPathname()));
+
+ }
+
+
+}
Modified: struts/apps/trunk/maven.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/maven.xml?view=diff&rev=149093&p1=struts/apps/trunk/maven.xml&r1=149092&p2=struts/apps/trunk/maven.xml&r2=149093
==============================================================================
--- struts/apps/trunk/maven.xml (original)
+++ struts/apps/trunk/maven.xml Sat Jan 29 18:02:55 2005
@@ -1,48 +1,38 @@
<?xml version="1.0"?>
-<project default="apps:build-all"
+<project default="dist"
xmlns:j="jelly:core"
xmlns:ant="jelly:ant"
xmlns:maven="jelly:maven">
- <goal name="apps:build-all">
-
- <echo>=================================================================</echo>
- <echo> </echo>
- <echo> apps:build target is no longer used, use 'dist' instead </echo>
- <echo> </echo>
- <echo>=================================================================</echo>
-
- <fail message="apps:build target is no longer used, use 'dist' instead"/>
- </goal>
-
<goal name="dist">
- <!--
- todo: this builds a struts-mailreader-1.3.0-dev.jar
- but the other apps do not use it
-
- -->
+ <maven:reactor basedir="${basedir}"
+ includes="dao/project.xml"
+ goals="jar:install"
+ banner="Building mailreader DAO jar"
+ ignoreFailures="false"/>
+
<maven:reactor basedir="${basedir}"
includes="shared/project.xml"
- goals="java:compile, jar:install, war:webapp, war:war"
+ goals="java:compile, war:webapp, war:war"
banner="Building default mailreader app"
ignoreFailures="false"/>
-
+ <!--
+ TODO - for some reason this next reactor is picking up dao/project.xml
+ even though it is explicitely excluded
+ -->
<maven:reactor basedir="${basedir}"
includes="*/project.xml"
- excludes="shared/project.xml"
+ excludes="shared/project.xml, dao/project.xml"
goals="java:compile, war:webapp, war:war"
banner="Building Struts apps"
ignoreFailures="false"/>
+
</goal>
- <goal name="dist">
- <attainGoal name="war:war"/>
- </goal>
-
<postGoal name="clean">
<maven:reactor basedir="${basedir}"
includes="*/project.xml"
@@ -51,14 +41,18 @@
ignoreFailures="false"/>
</postGoal>
+ <preGoal name="test:test">
+ <echo>maven.test.dest = ${maven.test.dest}</echo>
+ </preGoal>
<postGoal name="war:webapp">
<!--
TODO add test here to see if the ${core.dist.lib.dir}
and .tld / .dtd are available
-
-
+
+
-->
+
<ant:copy todir="${maven.war.webapp.dir}/WEB-INF" overwrite="false">
<ant:fileset dir="${core.dist.lib.dir}"
includes="*.tld, *.dtd">
Modified: struts/apps/trunk/project.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/project.xml?view=diff&rev=149093&p1=struts/apps/trunk/project.xml&r1=149092&p2=struts/apps/trunk/project.xml&r2=149093
==============================================================================
--- struts/apps/trunk/project.xml (original)
+++ struts/apps/trunk/project.xml Sat Jan 29 18:02:55 2005
@@ -19,7 +19,7 @@
</organization>
<logo>http://struts.apache.org/images/struts.gif</logo>
<inceptionYear>2000</inceptionYear>
- <package>org.apache.struts.apps</package>
+ <package>org.apache.struts.apps.*</package>
<shortDescription>MVC Web Application Framework</shortDescription>
@@ -364,48 +364,36 @@
<sourceDirectory>src/java</sourceDirectory>
<!-- Unit test cases -->
<unitTestSourceDirectory>src/test</unitTestSourceDirectory>
- <integrationUnitTestSourceDirectory />
+
<aspectSourceDirectory />
+
<unitTest>
- <includes>
- <include>org/apache/struts/action/TestDynaActionForm.java</include>
- <include>org/apache/struts/action/TestDynaActionFormClass.java</include>
- <include>org/apache/struts/config/TestModuleConfig.java</include>
- <include>org/apache/struts/config/TestActionConfigMatcher.java</include>
- <include>org/apache/struts/util/Test*.java</include>
- </includes>
- <resources>
- <resource>
- <directory>${basedir}/conf/share</directory>
- <targetPath>org/apache/struts/resources</targetPath>
- <includes>
- <include>**/*.xml</include>
- <include>**/*.dtd</include>
- </includes>
- </resource>
- <resource>
- <directory>${basedir}/src/test</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- </resources>
+ <resources>
+ <resource>
+ <directory>${basedir}/src/test</directory>
+ <includes>
+ <include>*.xml</include>
+ </includes>
+ </resource>
+ </resources>
</unitTest>
- <!-- J A R R E S O U R C E S -->
- <!-- Resources that are packaged up inside the JAR file -->
+
<resources>
<resource>
- <directory>${basedir}/src/share</directory>
+ <directory>${basedir}/src/java</directory>
<includes>
<include>**/*.properties</include>
+ <include>*.xml</include>
</includes>
</resource>
</resources>
- <!-- Integration unit test cases -->
+
<integrationUnitTest />
- <jars></jars>
+
</build>
+
<reports>
+
<!--
|
| These should all be completely self contained. You should be able
Modified: struts/apps/trunk/shared/project.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/shared/project.xml?view=diff&rev=149093&p1=struts/apps/trunk/shared/project.xml&r1=149092&p2=struts/apps/trunk/shared/project.xml&r2=149093
==============================================================================
--- struts/apps/trunk/shared/project.xml (original)
+++ struts/apps/trunk/shared/project.xml Sat Jan 29 18:02:55 2005
@@ -2,14 +2,27 @@
<project>
<extend>${basedir}/../project.xml</extend>
- <id>mailreader</id>
+ <id>struts</id>
<artifactId>struts-mailreader</artifactId>
<name>Struts mailreader web application</name>
- <package>org.apache.struts.webapp.example.*</package>
+ <package>org.apache.struts.apps.mailreader.*</package>
<description>Struts mailreader web application</description>
<shortDescription>Struts webapp</shortDescription>
- <dependencies/>
+ <dependencies>
+
+ <dependency>
+ <groupId>struts</groupId>
+ <artifactId>struts-mailreader-dao</artifactId>
+ <version>1.3.0-dev</version>
+ <url>http://struts.apache.org/</url>
+ <properties>
+ <war.bundle>true</war.bundle>
+ <cactus.bundle>true</cactus.bundle>
+ </properties>
+ </dependency>
+
+ </dependencies>
</project>
Modified: struts/apps/trunk/shared/src/webapp/Error.jsp
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/shared/src/webapp/Error.jsp?view=diff&rev=149093&p1=struts/apps/trunk/shared/src/webapp/Error.jsp&r1=149092&p2=struts/apps/trunk/shared/src/webapp/Error.jsp&r2=149093
==============================================================================
--- struts/apps/trunk/shared/src/webapp/Error.jsp (original)
+++ struts/apps/trunk/shared/src/webapp/Error.jsp Sat Jan 29 18:02:55 2005
@@ -21,7 +21,7 @@
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="org.apache.struts.Globals" %>
-<%@ page import="org.apache.struts.webapp.example.Constants" %>
+<%@ page import="org.apache.struts.apps.mailreader.Constants" %>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
Modified: struts/apps/trunk/shared/src/webapp/WEB-INF/app.tld
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/shared/src/webapp/WEB-INF/app.tld?view=diff&rev=149093&p1=struts/apps/trunk/shared/src/webapp/WEB-INF/app.tld&r1=149092&p2=struts/apps/trunk/shared/src/webapp/WEB-INF/app.tld&r2=149093
==============================================================================
--- struts/apps/trunk/shared/src/webapp/WEB-INF/app.tld (original)
+++ struts/apps/trunk/shared/src/webapp/WEB-INF/app.tld Sat Jan 29 18:02:55 2005
@@ -36,7 +36,7 @@
<name>checkLogon</name>
- <tagclass>org.apache.struts.webapp.example.CheckLogonTag</tagclass>
+ <tagclass>org.apache.struts.apps.mailreader.taglib.CheckLogonTag</tagclass>
<bodycontent>empty</bodycontent>
@@ -90,7 +90,7 @@
<name>linkSubscription</name>
- <tagclass>org.apache.struts.webapp.example.LinkSubscriptionTag</tagclass>
+ <tagclass>org.apache.struts.apps.mailreader.taglib.LinkSubscriptionTag</tagclass>
<info>
@@ -142,7 +142,7 @@
<name>linkUser</name>
- <tagclass>org.apache.struts.webapp.example.LinkUserTag</tagclass>
+ <tagclass>org.apache.struts.apps.mailreader.taglib.LinkUserTag</tagclass>
<info>
Modified: struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config-registration.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config-registration.xml?view=diff&rev=149093&p1=struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config-registration.xml&r1=149092&p2=struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config-registration.xml&r2=149093
==============================================================================
--- struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config-registration.xml (original)
+++ struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config-registration.xml Sat Jan 29 18:02:55 2005
@@ -37,7 +37,7 @@
<!-- Registration form bean -->
<form-bean name="RegistrationForm"
- type="org.apache.struts.webapp.example.RegistrationForm"/>
+ type="org.apache.struts.apps.mailreader.forms.RegistrationForm"/>
</form-beans>
@@ -51,7 +51,7 @@
<!-- Matches all edit actions (in this case, only user regstration) -->
<action path="/Edit*"
- type="org.apache.struts.webapp.example.Edit{1}Action"
+ type="org.apache.struts.apps.mailreader.actions.Edit{1}Action"
name="{1}Form"
scope="request"
validate="false">
@@ -60,7 +60,7 @@
<!-- Matches all save actions (in this case, only user registration) -->
<action path="/Save*"
- type="org.apache.struts.webapp.example.Save{1}Action"
+ type="org.apache.struts.apps.mailreader.actions.Save{1}Action"
name="{1}Form"
scope="request"
input="{1}"/>
Modified: struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config.xml
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config.xml?view=diff&rev=149093&p1=struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config.xml&r1=149092&p2=struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config.xml&r2=149093
==============================================================================
--- struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config.xml (original)
+++ struts/apps/trunk/shared/src/webapp/WEB-INF/struts-config.xml Sat Jan 29 18:02:55 2005
@@ -43,7 +43,7 @@
<!-- Subscription form bean -->
<form-bean name="SubscriptionForm"
- type="org.apache.struts.webapp.example.SubscriptionForm"/>
+ type="org.apache.struts.apps.mailreader.forms.SubscriptionForm"/>
</form-beans>
@@ -61,7 +61,7 @@
<!-- Display welcome page -->
<action path="/Welcome"
- type="org.apache.struts.webapp.example.WelcomeAction">
+ type="org.apache.struts.apps.mailreader.actions.WelcomeAction">
<forward name="failure" path="/Error.jsp" />
<forward name="success" path="/welcome.jsp" />
</action>
@@ -69,7 +69,7 @@
<!-- Change locale action -->
<action
path="/Locale"
- type="org.apache.struts.webapp.example.LocaleAction"
+ type="org.apache.struts.apps.mailreader.actions.LocaleAction"
parameter="welcome" />
<!-- Display registration page -->
@@ -86,25 +86,25 @@
<!-- Process a user logon -->
<action path="/SubmitLogon"
- type="org.apache.struts.webapp.example.LogonAction"
+ type="org.apache.struts.apps.mailreader.actions.LogonAction"
name="LogonForm"
scope="request"
input="logon">
<exception
key="expired.password"
- type="org.apache.struts.webapp.example.ExpiredPasswordException"
+ type="org.apache.struts.apps.mailreader.dao.ExpiredPasswordException"
path="/ExpiredPassword.do"/>
</action>
<!-- Process a user logoff -->
<action path="/Logoff"
- type="org.apache.struts.webapp.example.LogoffAction">
+ type="org.apache.struts.apps.mailreader.actions.LogoffAction">
<forward name="success" path="/Welcome.do"/>
</action>
<!-- Edit mail subscription -->
<action path="/EditSubscription"
- type="org.apache.struts.webapp.example.EditSubscriptionAction"
+ type="org.apache.struts.apps.mailreader.actions.EditSubscriptionAction"
name="SubscriptionForm"
scope="request"
validate="false">
@@ -114,7 +114,7 @@
<!-- Save mail subscription -->
<action path="/SaveSubscription"
- type="org.apache.struts.webapp.example.SaveSubscriptionAction"
+ type="org.apache.struts.apps.mailreader.actions.SaveSubscriptionAction"
name="SubscriptionForm"
scope="request"
input="subscription">
@@ -146,10 +146,10 @@
<!-- ========== Message Resources Definitions =========================== -->
<message-resources
- parameter="org.apache.struts.webapp.example.ApplicationResources"/>
+ parameter="org.apache.struts.apps.mailreader.resources.ApplicationResources"/>
<message-resources
- parameter="org.apache.struts.webapp.example.AlternateApplicationResources"
+ parameter="org.apache.struts.apps.mailreader.resources.AlternateApplicationResources"
key="alternate"/>
@@ -157,7 +157,7 @@
<plug-in className="org.apache.struts.plugins.ModuleConfigVerifier"/>
- <plug-in className="org.apache.struts.webapp.example.memory.MemoryDatabasePlugIn">
+ <plug-in className="org.apache.struts.apps.mailreader.plugin.MemoryDatabasePlugIn">
<set-property property="pathname" value="/WEB-INF/database.xml"/>
</plug-in>
Modified: struts/apps/trunk/shared/src/webapp/tour.html
Url: http://svn.apache.org/viewcvs/struts/apps/trunk/shared/src/webapp/tour.html?view=diff&rev=149093&p1=struts/apps/trunk/shared/src/webapp/tour.html&r1=149092&p2=struts/apps/trunk/shared/src/webapp/tour.html&r2=149093
==============================================================================
--- struts/apps/trunk/shared/src/webapp/tour.html (original)
+++ struts/apps/trunk/shared/src/webapp/tour.html Sat Jan 29 18:02:55 2005
@@ -14,7 +14,13 @@
<blockquote>
<h2>A Walking Tour of the Struts MailReader Demonstration Application</h2>
- <p><i>This article is meant to introduce a new user to Struts by "walking through" an application. See the <a href="http://jakarta.apache.org/struts/">Struts Users Guide and Strut's API</a> for more documentation.</i></p>
+ <p>
+ <i>
+ This article is meant to introduce a new user to Struts by "walking through" an
+ application.
+ See the <a href="http://struts.apache.org/">Struts Users Guide and Strut's API</a> for more documentation.
+ </i>
+ </p>
<p><i>The MailReader application is based on the 1.2.0 build of Struts. To follow along, you should install the MailReader application on your own development workstation (e.g. localhost).</i></p>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org