Author: husted Date: Fri Mar 17 18:01:21 2006 New Revision: 386789 URL: http://svn.apache.org/viewcvs?rev=386789&view=rev Log: Action2 Apps * Mailreader - Work in progress
Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html (with props) struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml (with props) struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java (with props) struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon-validation struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon.java (with props) struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java (with props) struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/ChangePassword.jsp (with props) struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Footer.jsp (with props) struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp (with props) struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/MainMenu.jsp (with props) struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp (with props) Removed: struts/sandbox/trunk/action2/apps/mailreader/src/java/Home.java Modified: struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Welcome.jsp Added: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html (added) +++ struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html Fri Mar 17 18:01:21 2006 @@ -0,0 +1,9 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<META HTTP-EQUIV="Refresh" CONTENT="0;URL=Home.jsp"> +</head> +<body> +<p>Loading ...</p> +</body> +</html> Propchange: struts/sandbox/trunk/action2/apps/cookbook/src/webapp/index.html ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml Fri Mar 17 18:01:21 2006 @@ -0,0 +1,12 @@ +<?xml version='1.0'?> +<database> + <user username="user" fromAddress="[EMAIL PROTECTED]" + 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> Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/java/database.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java Fri Mar 17 18:01:21 2006 @@ -0,0 +1,235 @@ +/* + * $Id: Constants.java 360442 2005-12-31 20:10:04Z husted $ + * + * Copyright 1999-2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package mailreader2; + +/** + * <p> + * Manifest constants for the MailReader application. + * </p> + * + * @version $Rev: 360442 $ $Date: 2005-12-31 15:10:04 -0500 (Sat, 31 Dec 2005) $ + */ + +public final class Constants { + + // --- Tokens ---- + + /** + * <p> + * The token representing a "create" task. + * </p> + */ + public static final String CREATE = "Create"; + + /** + * <p> + * The application scope attribute under which our user database + * is stored. + * </p> + */ + public static final String DATABASE_KEY = "database"; + + /** + * <p> + * The token representing a "edit" task. + * </p> + */ + public static final String DELETE = "Delete"; + + /** + * <p> + * The token representing a "edit" task. + * </p> + */ + public static final String EDIT = "Edit"; + + /** + * <p> + * The request attributes key under the WelcomeAction stores an ArrayList + * of error messages, if required resources are missing. + * </p> + */ + public static final String ERROR_KEY = "ERROR"; + + /** + * <p> + * The token representing a "failure" result for this application. + * </p> + */ + public static final String FAILURE = "Failure"; + + /** + * <p> + * The token representing a "logon" result for this application. + * </p> + */ + public static final String LOGON = "Logon"; + + /** + * <p> + * The package name for this application. + * </p> + */ + public static final String PACKAGE = "org.apache.struts.apps.mailreader"; + + /** + * <p> + * The token representing a "save" task. + * </p> + */ + public static final String SAVE = "Save"; + + /** + * <p> + * The session scope attribute under which the Subscription object + * currently selected by our logged-in User is stored. + * </p> + */ + public static final String SUBSCRIPTION_KEY = "subscription"; + + /** + * <p> + * The token representing a "success" result for this application. + * </p> + */ + public static final String SUCCESS = "Success"; + + /** + * <p> + * The session scope attribute under which the User object + * for the currently logged in user is stored. + * </p> + */ + public static final String USER_KEY = "user"; + + // ---- Error Messages ---- + + /** + * <p> + * A static message in case database resource is not loaded. + * <p> + */ + public static final String ERROR_DATABASE_NOT_LOADED = + "ERROR: User database not loaded -- check servlet container logs for error messages."; + + /** + * <p> + * A static message in case message resource is not loaded. + * </p> + */ + public static final String ERROR_MESSAGES_NOT_LOADED = + "ERROR: Message resources not loaded -- check servlet container logs for error messages."; + + // ---- Error Tokens ---- + + /** + * <p> + * The resource key for an error with the transactional token. + * </p> + */ + public static final String MSG_TRANSACTION_TOKEN = "error.transaction.token"; + + // ---- Log Messages ---- + + /** + * <p> + * The message to log when cancelling a transaction. + * </p> + */ + public static final String LOG_CANCEL = " Transaction cancelled: "; + + /** + * <p> + * The message to log when forwarding to a result. + * </p> + */ + public static final String LOG_RESULT = " Forwarding to result: "; + + /** + * <p> + * The message to log when forwarding to a 'failure' result. + * <p> + */ + public static final String LOG_FAILURE = LOG_RESULT + FAILURE; + + /** + * <p> + * The message to log when forwarding to a 'logon' result. + * </p> + */ + public static final String LOG_LOGON = LOG_RESULT + LOGON; + + /** + * <p> + * The message to log when populating a form. + * </p> + */ + public static final String LOG_POPULATE_FORM = " Populating form from: "; + + /** + * <p> + * The message to log when populating a subscription. + * </p> + */ + public static final String LOG_POPULATE_SUBSCRIPTION = " Populating subscription: "; + + /** + * <p> + * The message to log when populating a user. + * </p> + */ + public static final String LOG_POPULATE_USER = " Populating user: "; + + /** + * <p> + * The message to log when forwarding to a 'success' result. + * </p> + */ + public static final String LOG_PROCESSING = " Processing: "; + + /** + * <p> + * The message to log when forwarding to a 'success' result. + * </p> + */ + public static final String LOG_SUCCESS = LOG_RESULT + SUCCESS; + + /** + * <p> + * The message to log when setting a transactional token. + * </p> + */ + public static final String LOG_TOKEN = " Setting transactional control token"; + + /** + * <p> + * The message to log when checking a transactional token. + * </p> + */ + public static final String LOG_TOKEN_CHECK = " Checking transactional control token"; + + /** + * <p> + * Message to log if saving a user fails. + * </p> + */ + public static final String LOG_DATABASE_SAVE_ERROR = " Unexpected error when saving User: "; + + +} Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Constants.java ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon-validation URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon-validation?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon-validation (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon-validation Fri Mar 17 18:01:21 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>You must enter a username</message> + </field-validator> + </field> + <field name="password"> + <field-validator type="requiredstring"> + <message>You must enter a password</message> + </field-validator> + </field> +</validators> Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon.java URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon.java?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon.java (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon.java Fri Mar 17 18:01:21 2006 @@ -0,0 +1,98 @@ +/* + * $Id: LogonAction.java 360442 2005-12-31 20:10:04Z husted $ + * + * Copyright 2000-2004 Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package mailreader2; + +import org.apache.struts.apps.mailreader.dao.User; +/** + * <p> + * Validate a user logon. + * </p> + * + * @version $Rev: 360442 $ $Date: 2005-12-31 15:10:04 -0500 (Sat, 31 Dec 2005) $ + */ +public final class Logon extends MailreaderSupport { + + // -------------------------------------------------------------- Properties + + /** + * <p>The password input field.</p> + */ + private String password = null; + + + /** + * @return Returns the password. + */ + public String getPassword() { + return this.password; + } + + /** + * @param password The password to set. + */ + public void setPassword(String password) { + this.password = password; + } + + /** + * <p>The username input field.</p> + */ + private String username = null; + + + /** + * @return Returns the username. + */ + public String getUsername() { + return this.username; + } + + /** + * @param username The username to set. + */ + public void setUsername(String username) { + this.username = username; + } + + /** + * <p> + * Use "username" and "password" fields to retrieve a User + * object from the database. If credentials are not valid, or database + * has disappeared, post error messages and forward to input. + * </p> + * + * @throws Exception if the application business logic throws + * an exception + */ + public String execute() throws Exception { + + // Retrieve user + User user = doGetUser(username, password); + + // Report back any errors, and exit if any + // FIXME: if (!errors.isEmpty()) { this.saveErrors(request, errors); return (mapping.getInputForward()); + + // Cache user object in session to signify logon + doCacheUser(user); + + // Done + return SUCCESS; + + } + +} Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Logon.java ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java Fri Mar 17 18:01:21 2006 @@ -0,0 +1,234 @@ +/* + * $Id: BaseAction.java 360442 2005-12-31 20:10:04Z husted $ + * + * Copyright 1999-2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package mailreader2; + +import javax.servlet.ServletException; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import com.opensymphony.xwork.ActionSupport; +import com.opensymphony.webwork.interceptor.SessionAware; +import org.apache.struts.apps.mailreader.dao.User; +import org.apache.struts.apps.mailreader.dao.Subscription; +import org.apache.struts.apps.mailreader.dao.ExpiredPasswordException; +import org.apache.struts.apps.mailreader.dao.UserDatabase; + +import java.util.Map; + +/** + * <p> + * Base Action for MailreaderSupport application. + * </p><p> + * All the BaseAction helper methods are prefixed with "do" + * so that they can be easily distinguished from Struts and Servlet API methods. + * BaseAction subclasses may also have prive "do" helpers of their own. + * </p><p> + * Methods are kept in alphabetical order, to make them easier to find. + * </p> + * + * @version $Rev: 360442 $ $Date: 2005-12-31 15:10:04 -0500 (Sat, 31 Dec 2005) $ + */ +public abstract class MailreaderSupport extends ActionSupport implements SessionAware { + + // ---- SessionAware ---- + + private Map session; + + public void setSession(Map session) { + this.session = session; + } + + public Map getSession() { + return session; + } + + // ---- Fields ---- + + /** + * <p> + * Name of username field ["username"]. + * </p> + */ + public static String USERNAME = "username"; + + /** + * <p> + * Name of password field ["password"]. + * </p> + */ + public static String PASSWORD = "password"; + + /** + * <p> + * Name of task field ["task"]. + * </p> + */ + public final static String TASK = "task"; + + // ---- Protected Methods ---- + + /** + * <p> + * Store User object in client session. + * If user object is null, any existing user object is removed. + * </p> + * + * @param user The user object returned from the database + */ + void doCacheUser(User user) { + getSession().put(Constants.USER_KEY, user); + } + + /** + * <p> + * Helper method to log event and cancel transaction. + * </p> + * + * @param method Method being processed + * @param key Attrkibute to remove from session, if any + */ + protected void doCancel(String method, String key) { + if (key != null) { + getSession().remove(key); + } + } + + /** + * <p> + * Obtain the cached Subscription object, if any. + * </p> + * + * @return Cached Subscription object or null + */ + protected Subscription doGetSubscription() { + return (Subscription) getSession().get(Constants.SUBSCRIPTION_KEY); + } + + /** + * <p> + * Confirm user credentials. Post any errors and return User object + * (or null). + * </p> + * + * @param database Database in which to look up the user + * @param username Username specified on the logon form + * @param password Password specified on the logon form + * @return Validated User object or null + * @throws org.apache.struts.apps.mailreader.dao.ExpiredPasswordException + * to be handled by Struts exception + * processor via the action-mapping + */ + User doGetUser(UserDatabase database, String username, + String password) + throws ExpiredPasswordException { + + User user = null; + if (database == null) { + // FIXME: errors.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.database.missing")); + } else { + + if (username.equals("Hermes")) { + throw new ExpiredPasswordException("Hermes"); + } + + user = database.findUser(username); + if ((user != null) && !user.getPassword().equals(password)) { + user = null; + } + if (user == null) { + // FIXME: errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.password.mismatch")); + } + } + + return user; + } + + /** + * <p> + * Confirm user credentials. Post any errors and return User object + * (or null). + * </p> + * + * @param username Username specified on the logon form + * @param password Password specified on the logon form + * @return Validated User object or null + * @throws org.apache.struts.apps.mailreader.dao.ExpiredPasswordException + * to be handled by Struts exception + * processor via the action-mapping + */ + User doGetUser(String username, + String password) + throws ExpiredPasswordException { + + return doGetUser(doGetUserDatabase(), username, password); + } + + /** + * <p> + * Return a reference to the UserDatabase + * or null if the database is not available. + * </p> + * + * @return a reference to the UserDatabase or null if the database is not + * available + */ + protected UserDatabase doGetUserDatabase() { + return (UserDatabase) getSession().get(Constants.DATABASE_KEY); + } + + /** + * <p> + * Helper method to obtain User form session (if any). + * </p> + * + * @return User object, or null if there is no user. + */ + protected User doGetUser() { + return (User) getSession().get(Constants.USER_KEY); + } + + /** + * <p> + * The <code>Log</code> instance for this application. + * </p> + */ + protected Log log = LogFactory.getLog(Constants.PACKAGE); + + /** + * <p> + * Persist the User object, including subscriptions, to the database. + * </p> + * + * @param user Our User object + * @throws javax.servlet.ServletException On any error + */ + protected void doSaveUser(User user) throws ServletException { + + try { + UserDatabase database = doGetUserDatabase(); + database.save(); + } catch (Exception e) { + String message = Constants.LOG_DATABASE_SAVE_ERROR + user.getUsername(); + log.error(message, e); + throw new ServletException(message, e); + } + } + +} Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml?rev=386789&r1=386788&r2=386789&view=diff ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml (original) +++ struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml Fri Mar 17 18:01:21 2006 @@ -11,7 +11,31 @@ <result>/pages/Welcome.jsp</result> </action> - <!-- Add your actions here --> + <action name="Logon" + class="mailreader2.Logon"> + <exception-mapping + exception="org.apache.struts.apps.mailreader.dao.ExpiredPasswordException" + result="expired"/> + <result name="input">/pages/Logon.jsp</result> + <result name="expired" type="chain">Password!input</result> + <result>/pages/MainMenu.jsp</result> + </action> + <action name="Password"> + <result name="input">/pages/ChangePassword.jsp</result> + </action> + + <action name="MainMenu"> + <result>/pages/MainMenu.jsp</result> + </action> + + <action name="Registration"> + <result name="edit">/pages/Registration.jsp</result> + </action> + + <action name="Logoff"> + <result type="chain">MainMenu</result> + </action> + </package> </xwork> Added: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/ChangePassword.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/ChangePassword.jsp?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/ChangePassword.jsp (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/ChangePassword.jsp Fri Mar 17 18:01:21 2006 @@ -0,0 +1,16 @@ +<[EMAIL PROTECTED] 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> + <title><ww:text name="change.title"/></title> + <link href="<ww:url value="/css/mailreader.css"/>" rel="stylesheet" type="text/css" /> + </head> + <body> + + <ww:text name="change.message"/> + <a href="<ww:url action="Logon"/>"> + <ww:text name="change.try"/> + </a> + + </body> +</html> Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/ChangePassword.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Footer.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Footer.jsp?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Footer.jsp (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Footer.jsp Fri Mar 17 18:01:21 2006 @@ -0,0 +1,5 @@ +<[EMAIL PROTECTED] uri="/webwork" prefix="ww" %> +<hr/> +<p> +<a href="<ww:url action="Welcome" />"><ww:text name="index.title"/></a> +</p> Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Footer.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp Fri Mar 17 18:01:21 2006 @@ -0,0 +1,26 @@ +<[EMAIL PROTECTED] 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> + <title><ww:text name="logon.title"/></title> + <link href="<ww:url value="/css/mailreader.css"/>" rel="stylesheet" type="text/css" /> +</head> + +<body> + +<ww:form action="Logon" method="POST"> + <table border="0" width="100%"> + + <ww:textfield label="%{getText('prompt.username'}" name="username" size="16" maxlength="18"/> + + <ww:textfield label="%{getText('prompt.password'}" name="password" size="16" maxlength="18"/> + + <ww:submit /> + + </table> + +</ww:form> + +<jsp:include page="Footer.jsp"/> +</body> +</html> Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/MainMenu.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/MainMenu.jsp?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/MainMenu.jsp (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/MainMenu.jsp Fri Mar 17 18:01:21 2006 @@ -0,0 +1,22 @@ +<[EMAIL PROTECTED] 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> + <title><ww:text name="mainMenu.title"/></title> + <link rel="stylesheet" type="text/css" href="base.css"/> +</head> + +<body> +<h3><ww:text name="mainMenu.heading"/> <bean:write name="user" + property="fullName"/></h3> +<ul> + <li><a href="<ww:url action="Registration!edit" />"> + <ww:text name="mainMenu.registration" /> + </a> + </li> + <li><a href="<ww:url action="Loggoff"/>"> + <ww:text name="mainMenu.logoff" /> + </a> +</ul> +</body> +</html> Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/MainMenu.jsp ------------------------------------------------------------------------------ svn:eol-style = native Added: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp?rev=386789&view=auto ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp (added) +++ struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp Fri Mar 17 18:01:21 2006 @@ -0,0 +1,5 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<html> + <head><title>Simple jsp page</title></head> + <body>Place your content here</body> +</html> \ No newline at end of file Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp ------------------------------------------------------------------------------ svn:eol-style = native Modified: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Welcome.jsp URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Welcome.jsp?rev=386789&r1=386788&r2=386789&view=diff ============================================================================== --- struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Welcome.jsp (original) +++ struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Welcome.jsp Fri Mar 17 18:01:21 2006 @@ -10,8 +10,8 @@ <h3><ww:text name="index.heading"/></h3> <ul> - <li><a href="<ww:url action="EditRegistration"/>"><ww:text name="index.registration"/></a></li> - <li><a href="<ww:url action="Logon"/>"><ww:text name="index.logon"/></a></li> + <li><a href="<ww:url action="Registration!edit"/>"><ww:text name="index.registration"/></a></li> + <li><a href="<ww:url action="Logon!input"/>"><ww:text name="index.logon"/></a></li> </ul> <h3>Language Options</h3> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]