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/03/28 04:49:41 UTC
svn commit: r389370 - in /struts/sandbox/trunk/action2: ./
apps/mailreader/src/java/ apps/mailreader/src/java/mailreader2/
apps/mailreader/src/webapp/pages/
Author: husted
Date: Mon Mar 27 18:49:39 2006
New Revision: 389370
URL: http://svn.apache.org/viewcvs?rev=389370&view=rev
Log:
Action2 Apps
* Mailreader - Work in progress
** Add i18n support for coded fields
** Add Javascript to set form focus
Added:
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave-validation.xml (with props)
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave.java (with props)
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Subscription-validation.xml (with props)
Modified:
struts/sandbox/trunk/action2/README.txt
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration-validation.xml
struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration.java
struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp
struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Subscription.jsp
Modified: struts/sandbox/trunk/action2/README.txt
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/README.txt?rev=389370&r1=389369&r2=389370&view=diff
==============================================================================
--- struts/sandbox/trunk/action2/README.txt (original)
+++ struts/sandbox/trunk/action2/README.txt Mon Mar 27 18:49:39 2006
@@ -77,16 +77,13 @@
Logon
Nominal
-- Cancel (*)
++ Cancel
+ Reset
- Submit (invalid) (*)
+ Submit (incorrect)
+ Submit
Issues
-* Cancel
-** Cancel logs exceptions since the target properties on not on cancel action
-
* Submit (invalid)
** The "errors.password.mismatch" is not being resolved as message
@@ -104,7 +101,7 @@
Issues
* Submit - no change
** Password is displayed in plain text
-** Is there a WW way to set the focus?
+** Is there a WW way to set the focus? (Asked in forum)
* Edit - Submit (change)
** Password doesn't change when edited
** Password Confirmation message not displayed
@@ -142,11 +139,8 @@
Logoff
Nominal
-* Logoff - Refresh
-* Logoff - Skip to Registeration page (*)
-
-Issues
-* Skip to Registration - Displays blank Main Menu; Edit defaults to Create
++ Logoff - Refresh
++ Logoff - Skip to Registeration page
----
@@ -155,20 +149,17 @@
Nominal
+ Cancel
+ Reset
-- Submit (no data) (*)
-+ Submit (invalid data)
++ Submit (no data)
++ Submit (invalid data) (*)
+ Submit (data)
- Submit (duplicate data) (*)
Double submit
Issues (*)
-* Submit
-** Not parsing message variables: {0} in the range {1}
-* Submit (duplidate data)
-** Fails silently for duplicate user name
-** Password Confirmation message not displayed
* Submit (invalid data)
** When client-side validation is enabled, messages stack up on multiple invalid submits. Sever-side only OK.
+* Submit (duplidate data)
+** Fails silently for duplicate user name
----
Modified: 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=389370&r1=389369&r2=389370&view=diff
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java (original)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/MailreaderSupport.java Mon Mar 27 18:49:39 2006
@@ -318,7 +318,7 @@
user = null;
}
if (user == null) {
- this.addFieldError("password", "error.password.mismatch");
+ this.addFieldError("password", getText("error.password.mismatch"));
}
return user;
}
Modified: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration-validation.xml
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration-validation.xml?rev=389370&r1=389369&r2=389370&view=diff
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration-validation.xml (original)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration-validation.xml Mon Mar 27 18:49:39 2006
@@ -8,24 +8,6 @@
</field-validator>
</field>
- <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>
-
<field name="user.fullName">
<field-validator type="requiredstring">
<message key="error.fullName.required"/>
@@ -46,10 +28,5 @@
<message key="errors.email"/>
</field-validator>
</field>
-
- <validator type="expression">
- <param name="expression">password eq password2</param>
- <message key="error.password.match"/>
- </validator>
</validators>
Modified: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration.java?rev=389370&r1=389369&r2=389370&view=diff
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration.java (original)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Registration.java Mon Mar 27 18:49:39 2006
@@ -6,7 +6,7 @@
/**
* <p>Insert or update a User object to the persistent store. </p>
*/
-public final class Registration extends MailreaderSupport {
+public class Registration extends MailreaderSupport {
/**
* <p>Double check that there is not a valid User logon. </p>
@@ -56,6 +56,21 @@
if (creating) {
copyUser(getUsername(), getPassword());
+ }
+ else {
+ // FIXME: Any way to call the RegisrationSave validators from here?
+ String pw = getPassword();
+ if (pw!=null) {
+ String pw2 = getPassword2();
+ boolean matches = ((null!=pw2) && (pw2.equals(pw)));
+ if (matches) {
+ getUser().setPassword(pw);
+ }
+ else {
+ addActionError(getText("error.password.match"));
+ return INPUT;
+ }
+ }
}
saveUser();
Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave-validation.xml
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave-validation.xml?rev=389370&view=auto
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave-validation.xml (added)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave-validation.xml Mon Mar 27 18:49:39 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/action2/apps/mailreader/src/java/mailreader2/RegistrationSave-validation.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave.java?rev=389370&view=auto
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave.java (added)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave.java Mon Mar 27 18:49:39 2006
@@ -0,0 +1,8 @@
+package mailreader2;
+
+/**
+ * <p>Stub class to allow extra validation on initial Save.</p>
+ */
+public final class RegistrationSave extends Registration {
+
+}
Propchange: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/RegistrationSave.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Subscription-validation.xml
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Subscription-validation.xml?rev=389370&view=auto
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Subscription-validation.xml (added)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/mailreader2/Subscription-validation.xml Mon Mar 27 18:49:39 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/action2/apps/mailreader/src/java/mailreader2/Subscription-validation.xml
------------------------------------------------------------------------------
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=389370&r1=389369&r2=389370&view=diff
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml (original)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/java/xwork.xml Mon Mar 27 18:49:39 2006
@@ -19,7 +19,13 @@
</global-exception-mappings>
- <action name="Welcome">
+ <!--
+ The reference to MailReaderSupport is only needed because
+ we use Welcome as a target for Cancel actions.
+ If the page doesn't have the appropriate input properties,
+ the framework logs an exception.
+ -->
+ <action name="Welcome" class="mailreader2.MailreaderSupport">
<result>/pages/Welcome.jsp</result>
</action>
@@ -37,12 +43,18 @@
<result>/pages/ChangePassword.jsp</result>
</action>
+ <!-- See note for Welcome -->
<action name="MainMenu" class="mailreader2.MailreaderSupport">
<result>/pages/MainMenu.jsp</result>
<result name="input">/pages/MainMenu.jsp</result>
</action>
<action name="Registration" class="mailreader2.Registration">
+ <result name="input">/pages/Registration.jsp</result>
+ <result type="redirect-action">MainMenu</result>
+ </action>
+
+ <action name="RegistrationSave" class="mailreader2.RegistrationSave">
<result name="input">/pages/Registration.jsp</result>
<result type="redirect-action">MainMenu</result>
</action>
Modified: 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=389370&r1=389369&r2=389370&view=diff
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp (original)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Logon.jsp Mon Mar 27 18:49:39 2006
@@ -9,13 +9,13 @@
type="text/css"/>
</head>
-<body>
+<body onLoad="self.focus();document.Logon.username.focus()" >
<saf:actionerror />
<saf:form method="POST" validate="true">
<saf:textfield label="%{getText('username')}" name="username"/>
- <saf:textfield label="%{getText('password')}" name="password"/>
+ <saf:password label="%{getText('password')}" name="password"/>
<saf:submit value="%{getText('button.save')}"/>
Modified: 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=389370&r1=389369&r2=389370&view=diff
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp (original)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Registration.jsp Mon Mar 27 18:49:39 2006
@@ -14,7 +14,7 @@
type="text/css"/>
</head>
-<body>
+<body onLoad="self.focus();document.Registration.username.focus()" >
<saf:actionerror />
<saf:form method="POST" validate="false">
@@ -27,9 +27,9 @@
<saf:hidden name="username"/>
</saf:else>
- <saf:textfield label="%{getText('password')}" name="password"/>
+ <saf:password label="%{getText('password')}" name="password"/>
- <saf:textfield label="%{getText('password2')}" name="password2"/>
+ <saf:password label="%{getText('password2')}" name="password2"/>
<saf:textfield label="%{getText('fullName')}"
name="user.fullName"/>
@@ -40,15 +40,19 @@
<saf:textfield label="%{getText('replyToAddress')}"
name="user.replyToAddress"/>
- <saf:submit value="%{getText('button.save')}"/>
+ <saf:if test="task == 'Create'">
+ <saf:submit value="%{getText('button.save')}" action="RegistrationSave"/>
- <saf:reset value="%{getText('button.reset')}"/>
+ <saf:reset value="%{getText('button.reset')}"/>
- <saf:if test="task == 'Create'">
<saf:submit action="Welcome" value="%{getText('button.cancel')}"
onclick="form.onsubmit=null"/>
</saf:if>
<saf:else>
+ <saf:submit value="%{getText('button.save')}" action="Registration"/>
+
+ <saf:reset value="%{getText('button.reset')}"/>
+
<saf:submit action="MainMenu" value="%{getText('button.cancel')}"
onclick="form.onsubmit=null"/>
</saf:else>
Modified: struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Subscription.jsp
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Subscription.jsp?rev=389370&r1=389369&r2=389370&view=diff
==============================================================================
--- struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Subscription.jsp (original)
+++ struts/sandbox/trunk/action2/apps/mailreader/src/webapp/pages/Subscription.jsp Mon Mar 27 18:49:39 2006
@@ -17,10 +17,10 @@
type="text/css"/>
</head>
-<body>
+<body onLoad="self.focus();document.Subscription.username.focus()" >
<saf:actionerror />
-<saf:form method="POST" action="SubscriptionSave" validate="true">
+<saf:form method="POST" action="SubscriptionSave" validate="false">
<saf:hidden name="task"/>
<saf:label label="%{getText('username')}" name="user.username"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org