You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by hu...@apache.org on 2006/04/06 23:39:40 UTC
svn commit: r392086 - in /struts/sandbox/trunk/mailreader-course/action2:
lab-1-0/ lab-1-3/src/java/ lab-2-1/src/java/ lab-2-2/src/java/ lab-2-3/
lab-2-3/src/java/ lab-2-3/src/webapp/pages/
Author: husted
Date: Thu Apr 6 14:39:37 2006
New Revision: 392086
URL: http://svn.apache.org/viewcvs?rev=392086&view=rev
Log:
MailReader Course
* Add completed Lab 2-3 (half-way point)
Added:
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/lab-2-3.iml
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login-validation.xml (with props)
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login.java (with props)
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Logout.java (with props)
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Login.jsp (with props)
Removed:
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/lab-2-2.iml
Modified:
struts/sandbox/trunk/mailreader-course/action2/lab-1-0/lab-1-0.iml
struts/sandbox/trunk/mailreader-course/action2/lab-1-3/src/java/MailReaderSupport.java
struts/sandbox/trunk/mailreader-course/action2/lab-2-1/src/java/MailReaderSupport.java
struts/sandbox/trunk/mailreader-course/action2/lab-2-2/src/java/MailReaderSupport.java
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/MailReaderSupport.java
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Register.java
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/xwork.xml
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Menu.jsp
struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Welcome.jsp
Modified: struts/sandbox/trunk/mailreader-course/action2/lab-1-0/lab-1-0.iml
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-1-0/lab-1-0.iml?rev=392086&r1=392085&r2=392086&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-1-0/lab-1-0.iml (original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-1-0/lab-1-0.iml Thu Apr 6 14:39:37 2006
@@ -9,6 +9,7 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/exploded" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
Modified: struts/sandbox/trunk/mailreader-course/action2/lab-1-3/src/java/MailReaderSupport.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-1-3/src/java/MailReaderSupport.java?rev=392086&r1=392085&r2=392086&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-1-3/src/java/MailReaderSupport.java (original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-1-3/src/java/MailReaderSupport.java Thu Apr 6 14:39:37 2006
@@ -71,17 +71,19 @@
replyToAddress = value;
}
- // ---- Messages ----
+ // ---- Keys ----
public static final String DATABASE_KEY = "database";
+ public static final String USER_KEY = "user";
+
+ // ---- Messages ----
+
public static final String ERROR_DATABASE_MISSING =
"Database is missing";
public static String ERROR_USERNAME_UNIQUE =
"That username is already in use - please select another";
-
- public static final String USER_KEY = "user";
// ---- ApplicationAware ----
Modified: struts/sandbox/trunk/mailreader-course/action2/lab-2-1/src/java/MailReaderSupport.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-1/src/java/MailReaderSupport.java?rev=392086&r1=392085&r2=392086&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-1/src/java/MailReaderSupport.java (original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-1/src/java/MailReaderSupport.java Thu Apr 6 14:39:37 2006
@@ -71,17 +71,19 @@
replyToAddress = value;
}
- // ---- Messages ----
+ // ---- Keys ----
public static final String DATABASE_KEY = "database";
+ public static final String USER_KEY = "user";
+
+ // ---- Messages ----
+
public static final String ERROR_DATABASE_MISSING =
"Database is missing";
public static String ERROR_USERNAME_UNIQUE =
"That username is already in use - please select another";
-
- public static final String USER_KEY = "user";
// ---- ApplicationAware ----
Modified: struts/sandbox/trunk/mailreader-course/action2/lab-2-2/src/java/MailReaderSupport.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-2/src/java/MailReaderSupport.java?rev=392086&r1=392085&r2=392086&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-2/src/java/MailReaderSupport.java (original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-2/src/java/MailReaderSupport.java Thu Apr 6 14:39:37 2006
@@ -71,17 +71,19 @@
replyToAddress = value;
}
- // ---- Messages ----
+ // ---- Keys ----
public static final String DATABASE_KEY = "database";
+ public static final String USER_KEY = "user";
+
+ // ---- Messages ----
+
public static final String ERROR_DATABASE_MISSING =
"Database is missing";
public static String ERROR_USERNAME_UNIQUE =
"That username is already in use - please select another";
-
- public static final String USER_KEY = "user";
// ---- ApplicationAware ----
Added: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/lab-2-3.iml
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/lab-2-3.iml?rev=392086&view=auto
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/lab-2-3.iml (added)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/lab-2-3.iml Thu Apr 6 14:39:37 2006
@@ -0,0 +1,262 @@
+<?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-2-3/WEB-INF/classes" />
+ <exclude-output />
+ <exploded url="file://C:/opt/Apache/Tomcat-5.0/webapps/lab-2-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://$MODULE_DIR$/../../lib/spring-core.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/struts-taglib-1.3.0.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/commons-collections-3.1.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/webwork-2.2.2.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/ognl.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-web.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/xwork-1.1.2.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://$APPLICATION_HOME_DIR$/lib/junit.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-2-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="/" />
+ </webroots>
+ </component>
+ <component name="WeblogicWebModuleProperties">
+ <option name="IS_RUN_APPC" value="false" />
+ </component>
+</module>
+
Added: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login-validation.xml
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login-validation.xml?rev=392086&view=auto
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login-validation.xml (added)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login-validation.xml Thu Apr 6 14:39:37 2006
@@ -0,0 +1,14 @@
+<!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="username">
+ <field-validator type="requiredstring">
+ <message>Username is required</message>
+ </field-validator>
+ </field>
+ <field name="password">
+ <field-validator type="requiredstring">
+ <message>Password is required</message>
+ </field-validator>
+ </field>
+</validators>
Propchange: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login-validation.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login.java?rev=392086&view=auto
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login.java (added)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login.java Thu Apr 6 14:39:37 2006
@@ -0,0 +1,22 @@
+import org.apache.struts.apps.mailreader.dao.ExpiredPasswordException;
+import org.apache.struts.apps.mailreader.dao.User;
+
+public class Login extends MailReaderSupport {
+
+ public String execute() throws ExpiredPasswordException {
+
+ User user = findUser(getUsername(), getPassword());
+
+ if (user != null) {
+ setUser(user);
+ }
+
+ if (hasErrors()) {
+ return INPUT;
+ }
+
+ return SUCCESS;
+
+ }
+
+}
Propchange: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Login.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Logout.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Logout.java?rev=392086&view=auto
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Logout.java (added)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Logout.java Thu Apr 6 14:39:37 2006
@@ -0,0 +1,9 @@
+public class Logout extends MailReaderSupport {
+
+ public String execute() {
+
+ setUser(null);
+
+ return SUCCESS;
+ }
+}
Propchange: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Logout.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/MailReaderSupport.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/MailReaderSupport.java?rev=392086&r1=392085&r2=392086&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/MailReaderSupport.java (original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/MailReaderSupport.java Thu Apr 6 14:39:37 2006
@@ -1,5 +1,6 @@
import com.opensymphony.util.BeanUtils;
import com.opensymphony.webwork.interceptor.ApplicationAware;
+import com.opensymphony.webwork.interceptor.SessionAware;
import com.opensymphony.xwork.ActionSupport;
import org.apache.struts.apps.mailreader.dao.ExpiredPasswordException;
import org.apache.struts.apps.mailreader.dao.User;
@@ -7,7 +8,8 @@
import java.util.Map;
-public class MailReaderSupport extends ActionSupport implements ApplicationAware {
+public class MailReaderSupport extends ActionSupport
+ implements ApplicationAware, SessionAware {
// ---- Register form properties ----
@@ -71,17 +73,26 @@
replyToAddress = value;
}
- // ---- Messages ----
+ // ---- Keys ----
public static final String DATABASE_KEY = "database";
+ public static final String USER_KEY = "user";
+
+ public static final String PASSWORD_MISMATCH_FIELD = "password";
+
+ public static final String CANCEL = "cancel";
+
+ // ---- Messages ----
+
public static final String ERROR_DATABASE_MISSING =
"Database is missing";
- public static String ERROR_USERNAME_UNIQUE =
+ public static final String ERROR_USERNAME_UNIQUE =
"That username is already in use - please select another";
- public static final String USER_KEY = "user";
+ public static final String ERROR_PASSWORD_MISMATCH =
+ "Invalid username and/or password, please try again";
// ---- ApplicationAware ----
@@ -109,11 +120,69 @@
getApplication().put(DATABASE_KEY, database);
}
+ // ---- SessionAware ----
+
+ /**
+ * <p>Field to store session context, or its proxy.</p>
+ */
+ private Map session;
+
+ /**
+ * <p>Store a new session context.</p>
+ *
+ * @param value A Map representing session state
+ */
+ public void setSession(Map value) {
+ session = value;
+ }
+
+ /**
+ * <p>Provide session context.</p>
+ *
+ * @return session context
+ */
+ public Map getSession() {
+ return session;
+ }
+
+ // ---- User property ----
+
+ /**
+ * <p>Provide reference to User object for authenticated user.</p>
+ *
+ * @return User object for authenticated user.
+ */
+ public User getUser() {
+ return (User) getSession().get(USER_KEY);
+ }
+
+ /**
+ * <p>Store new reference to User Object.</p>
+ *
+ * @param user User object for authenticated user
+ */
+ public void setUser(User user) {
+ getSession().put(USER_KEY, user);
+ }
+
// ---- Database methods ----
public User findUser(String username, String password)
throws ExpiredPasswordException {
- return getDatabase().findUser(username);
+
+ User user = getDatabase().findUser(username);
+
+ if ((user != null) && !user.getPassword().equals(password)) {
+ user = null;
+ }
+
+ if (user == null) {
+ addFieldError(PASSWORD_MISMATCH_FIELD,
+ getText(ERROR_PASSWORD_MISMATCH));
+ }
+
+ return user;
+
}
public User createUser(String username, String password) throws Exception {
@@ -134,6 +203,12 @@
public void saveUser() throws Exception {
getDatabase().save();
+ }
+
+ // ---- Alias ----
+
+ public String cancel() {
+ return CANCEL;
}
}
Modified: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Register.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Register.java?rev=392086&r1=392085&r2=392086&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Register.java (original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/Register.java Thu Apr 6 14:39:37 2006
@@ -14,7 +14,9 @@
return Action.INPUT;
}
- createUser(getUsername(), getPassword());
+ user = createUser(getUsername(), getPassword());
+
+ setUser(user);
saveUser();
Modified: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/xwork.xml
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/xwork.xml?rev=392086&r1=392085&r2=392086&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/xwork.xml (original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/java/xwork.xml Thu Apr 6 14:39:37 2006
@@ -21,11 +21,21 @@
<action name="Register" class="Register">
<result name="input">/pages/Register.jsp</result>
- <result type="chain">Menu</result>
+ <result type="redirect-action">Menu</result>
</action>
<action name="Menu" class="MailReaderSupport">
<result>/pages/Menu.jsp</result>
+ </action>
+
+ <action name="Logout" class="Logout">
+ <result type="redirect-action">Welcome</result>
+ </action>
+
+ <action name="Login" class="Login">
+ <result name="input">/pages/Login.jsp</result>
+ <result name="cancel" type="redirect-action">Welcome</result>
+ <result type="redirect-action">Menu</result>
</action>
</package>
Added: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Login.jsp
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Login.jsp?rev=392086&view=auto
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Login.jsp (added)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Login.jsp Thu Apr 6 14:39:37 2006
@@ -0,0 +1,22 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<html>
+<head>
+ <title>Login</title>
+</head>
+
+<body onLoad="self.focus();document.Logon.username.focus()">
+
+<ww:actionerror/>
+<ww:form method="POST" validate="true">
+ <ww:textfield label="UserName" name="username"/>
+
+ <ww:password label="Password" name="password" showPassword="true"/>
+
+ <ww:submit value="Save" name="Save"/>
+
+ <ww:submit action="Login!cancel" value="Cancel" name="Cancel"
+ onclick="form.onsubmit=null"/>
+</ww:form>
+
+</body>
+</html>
Propchange: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Login.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Menu.jsp
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Menu.jsp?rev=392086&r1=392085&r2=392086&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Menu.jsp (original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Menu.jsp Thu Apr 6 14:39:37 2006
@@ -5,7 +5,7 @@
</head>
<body>
-<h3>Main Menu Options for <ww:property value="fullName"/></h3>
+<h3>Main Menu Options for <ww:property value="user.fullName"/></h3>
<ul>
<li><a href="<ww:url action="Register!input" />">
Edit your registration profile
Modified: struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Welcome.jsp
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Welcome.jsp?rev=392086&r1=392085&r2=392086&view=diff
==============================================================================
--- struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Welcome.jsp (original)
+++ struts/sandbox/trunk/mailreader-course/action2/lab-2-3/src/webapp/pages/Welcome.jsp Thu Apr 6 14:39:37 2006
@@ -9,7 +9,7 @@
<ul>
<li><a href="<ww:url action="Register!input"/>">Register with the MailReader</a></li>
- <li><a href="<ww:url action="Missing"/>">Log on to the MailReader</a></li>
+ <li><a href="<ww:url action="Login!input"/>">Log on to the MailReader</a></li>
</ul>
<h3>Language Options</h3>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org