You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by mr...@apache.org on 2005/10/28 08:32:00 UTC

svn commit: r329127 [2/3] - in /struts/bsf/trunk/src/struts-example: ./ WEB-INF/ WEB-INF/classes/ WEB-INF/lib/ WEB-INF/scripts/

Modified: struts/bsf/trunk/src/struts-example/WEB-INF/validation.xml
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/WEB-INF/validation.xml?rev=329127&r1=329126&r2=329127&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/WEB-INF/validation.xml (original)
+++ struts/bsf/trunk/src/struts-example/WEB-INF/validation.xml Thu Oct 27 23:29:07 2005
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 
 <!DOCTYPE form-validation PUBLIC
-          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
-          "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
+          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
+          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
 
 <!--
     Validation Rules for the Struts Example Web Application
 
-    $Id: validation.xml,v 1.1.1.1 2003/04/21 22:47:46 mrdon Exp $
+    $Id: validation.xml 51719 2004-09-03 04:38:57Z niallp $
 -->
 
 <form-validation>
@@ -16,32 +16,19 @@
     <!-- ========== Default Language Form Definitions ===================== -->
     <formset>
 
-        <form name="logonForm">
+        <form name="LogonForm">
 
             <field property="username"
-                    depends="minlength,maxlength">
-                <arg0   key="prompt.username"/>
-                <arg1   key="${var:minlength}" name="minlength"
-                   resource="false"/>
-                <arg2   key="${var:maxlength}" name="maxlength"
-                   resource="false"/>
-                <var>
-                    <var-name>maxlength</var-name>
-                    <var-value>16</var-value>
-                </var>
-                <var>
-                    <var-name>minlength</var-name>
-                    <var-value>3</var-value>
-                </var>
+                    depends="required">
+                <arg   key="prompt.username"/>
             </field>
 
             <field property="password"
-                    depends="minlength,maxlength"
-                    bundle="alternate">
-                <arg0   key="prompt.password"/>
-                <arg1   key="${var:minlength}" name="minlength"
+                    depends="required, minlength,maxlength">
+                <arg   key="prompt.password"/>
+                <arg   key="${var:minlength}" name="minlength"
                    resource="false"/>
-                <arg2   key="${var:maxlength}" name="maxlength"
+                <arg   key="${var:maxlength}" name="maxlength"
                    resource="false"/>
                 <var>
                     <var-name>maxlength</var-name>
@@ -56,26 +43,26 @@
         </form>
 
 
-        <form name="registrationForm">
+        <form name="RegistrationForm">
 
             <field property="fromAddress"
                     depends="required,email">
-                <arg0   key="prompt.fromAddress"/>
+                <arg   key="prompt.fromAddress"/>
             </field>
 
             <field property="fullName"
                     depends="required">
-              <arg0     key="prompt.fullName"/>
+              <arg     key="prompt.fullName"/>
             </field>
 
             <field property="replyToAddress"
                     depends="email">
-                <arg0   key="prompt.replyToAddress"/>
+                <arg   key="prompt.replyToAddress"/>
             </field>
 
             <field property="username"
                     depends="required">
-              <arg0     key="prompt.username"/>
+              <arg     key="prompt.username"/>
             </field>
 
         </form>

Modified: struts/bsf/trunk/src/struts-example/WEB-INF/validator-rules.xml
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/WEB-INF/validator-rules.xml?rev=329127&r1=329126&r2=329127&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/WEB-INF/validator-rules.xml (original)
+++ struts/bsf/trunk/src/struts-example/WEB-INF/validator-rules.xml Thu Oct 27 23:29:07 2005
@@ -1,7 +1,8 @@
 <!DOCTYPE form-validation PUBLIC
-          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
-          "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
+          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
+          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
 <!--
+  $Id: validator-rules.xml 54932 2004-10-16 17:02:16Z germuska $
 
    This file contains the default Struts Validator pluggable validator
    definitions.  It should be placed somewhere under /WEB-INF and
@@ -37,6 +38,11 @@
    errors.creditcard={0} is an invalid credit card number.
    errors.email={0} is an invalid e-mail address.
 
+   Note: Starting in Struts 1.2.0 the default javascript definitions have
+         been consolidated to commons-validator. The default can be overridden
+         by supplying a <javascript> element with a CDATA section, just as
+         in struts 1.1.
+
 -->
 
 <form-validation>
@@ -49,57 +55,9 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
-                  msg="errors.required">
-
-         <javascript><![CDATA[
-            function validateRequired(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oRequired = new required();
-                for (x in oRequired) {
-                	var field = form[oRequired[x][0]];
-                	
-                    if (field.type == 'text' ||
-                        field.type == 'textarea' ||
-                        field.type == 'file' ||
-                        field.type == 'select-one' ||
-                        field.type == 'radio' ||
-                        field.type == 'password') {
-                        
-                        var value = '';
-						// get field's value
-						if (field.type == "select-one") {
-							var si = field.selectedIndex;
-							if (si >= 0) {
-								value = field.options[si].value;
-							}
-						} else {
-							value = field.value;
-						}
-                        
-                        if (value == '') {
-                        
-	                        if (i == 0) {
-	                            focusField = field;
-	                        }
-	                        fields[i++] = oRequired[x][1];
-	                        bValid = false;
-                        }
-                    }
-                }
-                if (fields.length > 0) {
-                   focusField.focus();
-                   alert(fields.join('\n'));
-                }
-                return bValid;
-            }]]>
-         </javascript>
-
-      </validator>
+                  msg="errors.required"/>
 
       <validator name="requiredif"
                  classname="org.apache.struts.validator.FieldChecks"
@@ -107,11 +65,22 @@
                  methodParams="java.lang.Object,
                                org.apache.commons.validator.ValidatorAction,
                                org.apache.commons.validator.Field,
-                               org.apache.struts.action.ActionErrors,
+                               org.apache.struts.action.ActionMessages,
                                org.apache.commons.validator.Validator,
                                javax.servlet.http.HttpServletRequest"
-                 msg="errors.required">
-      </validator>
+                 msg="errors.required"/>
+
+      <validator name="validwhen"
+          msg="errors.required"
+                 classname="org.apache.struts.validator.validwhen.ValidWhen"
+                 method="validateValidWhen"
+                 methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"/>
+
 
       <validator name="minlength"
             classname="org.apache.struts.validator.FieldChecks"
@@ -119,40 +88,11 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
-                  msg="errors.minlength">
-
-         <javascript><![CDATA[
-            function validateMinLength(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oMinLength = new minlength();
-                for (x in oMinLength) {
-                    if (form[oMinLength[x][0]].type == 'text' ||
-                        form[oMinLength[x][0]].type == 'textarea') {
-                        var iMin = parseInt(oMinLength[x][2]("minlength"));
-                        if (form[oMinLength[x][0]].value.length < iMin) {
-                            if (i == 0) {
-                                focusField = form[oMinLength[x][0]];
-                            }
-                            fields[i++] = oMinLength[x][1];
-                            bValid = false;
-                        }
-                    }
-                }
-                if (fields.length > 0) {
-                   focusField.focus();
-                   alert(fields.join('\n'));
-                }
-                return bValid;
-            }]]>
-         </javascript>
-
-      </validator>
+                  msg="errors.minlength"
+           jsFunction="org.apache.commons.validator.javascript.validateMinLength"/>
 
 
       <validator name="maxlength"
@@ -161,40 +101,12 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
-                  msg="errors.maxlength">
-
-         <javascript><![CDATA[
-            function validateMaxLength(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oMaxLength = new maxlength();
-                for (x in oMaxLength) {
-                    if (form[oMaxLength[x][0]].type == 'text' ||
-                        form[oMaxLength[x][0]].type == 'textarea') {
-                        var iMax = parseInt(oMaxLength[x][2]("maxlength"));
-                        if (form[oMaxLength[x][0]].value.length > iMax) {
-                            if (i == 0) {
-                                focusField = form[oMaxLength[x][0]];
-                            }
-                            fields[i++] = oMaxLength[x][1];
-                            bValid = false;
-                        }
-                    }
-                }
-                if (fields.length > 0) {
-                   focusField.focus();
-                   alert(fields.join('\n'));
-                }
-                return bValid;
-            }]]>
-         </javascript>
+                  msg="errors.maxlength"
+           jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/>
 
-      </validator>
 
 
       <validator name="mask"
@@ -203,49 +115,10 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
-                  msg="errors.invalid">
-
-         <javascript><![CDATA[
-            function validateMask(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oMasked = new mask();
-                for (x in oMasked) {
-                    if ((form[oMasked[x][0]].type == 'text' ||
-                         form[oMasked[x][0]].type == 'textarea' ||
-                         form[oMasked[x][0]].type == 'password') &&
-                        (form[oMasked[x][0]].value.length > 0)) {
-                        if (!matchPattern(form[oMasked[x][0]].value, oMasked[x][2]("mask"))) {
-                            if (i == 0) {
-                                focusField = form[oMasked[x][0]];
-                            }
-                            fields[i++] = oMasked[x][1];
-                            bValid = false;
-                        }
-                    }
-                }
-                if (fields.length > 0) {
-                   focusField.focus();
-                   alert(fields.join('\n'));
-                }
-                return bValid;
-            }
-
-            function matchPattern(value, mask) {
-               var bMatched = mask.exec(value);
-               if (!bMatched) {
-                   return false;
-               }
-               return true;
-            }]]>
-         </javascript>
-
-      </validator>
+                  msg="errors.invalid"/>
 
 
       <validator name="byte"
@@ -254,61 +127,11 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.byte"
-       jsFunctionName="ByteValidations">
-
-         <javascript><![CDATA[
-            function validateByte(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oByte = new ByteValidations();
-                for (x in oByte) {
-                	var field = form[oByte[x][0]];
-                	
-                    if (field.type == 'text' ||
-                        field.type == 'textarea' ||
-                        field.type == 'select-one' ||
-						field.type == 'radio') {
-
-						var value = '';
-						// get field's value
-						if (field.type == "select-one") {
-							var si = field.selectedIndex;
-							if (si >= 0) {
-								value = field.options[si].value;
-							}
-						} else {
-							value = field.value;
-						}
-                        
-                        if (value.length > 0) {
-
-	                        var iValue = parseInt(value);
-	                        if (isNaN(iValue) || !(iValue >= -128 && iValue <= 127)) {
-	                            if (i == 0) {
-	                                focusField = field;
-	                            }
-	                            fields[i++] = oByte[x][1];
-	                            bValid = false;
-	                        }
-						}
-						
-                    }
-                }
-                if (fields.length > 0) {
-                   focusField.focus();
-                   alert(fields.join('\n'));
-                }
-                return bValid;
-            }]]>
-         </javascript>
-
-      </validator>
+       jsFunctionName="ByteValidations"/>
 
 
       <validator name="short"
@@ -317,60 +140,11 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.short"
-       jsFunctionName="ShortValidations">
-
-         <javascript><![CDATA[
-            function validateShort(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oShort = new ShortValidations();
-                for (x in oShort) {
-                	var field = form[oShort[x][0]];
-                	
-                    if (field.type == 'text' ||
-                        field.type == 'textarea' ||
-                        field.type == 'select-one' ||
-                        field.type == 'radio') {
-                        
-                        var value = '';
-						// get field's value
-						if (field.type == "select-one") {
-							var si = field.selectedIndex;
-							if (si >= 0) {
-								value = field.options[si].value;
-							}
-						} else {
-							value = field.value;
-						}
-                        
-                        if (value.length > 0) {
-                        
-	                        var iValue = parseInt(value);
-	                        if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 32767)) {
-	                            if (i == 0) {
-	                                focusField = field;
-	                            }
-	                            fields[i++] = oShort[x][1];
-	                            bValid = false;
-	                       }
-                       }
-                    }
-                }
-                if (fields.length > 0) {
-                   focusField.focus();
-                   alert(fields.join('\n'));
-                }
-                return bValid;
-            }]]>
-         </javascript>
-
-      </validator>
+       jsFunctionName="ShortValidations"/>
 
 
       <validator name="integer"
@@ -379,81 +153,12 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.integer"
-       jsFunctionName="IntegerValidations">
+       jsFunctionName="IntegerValidations"/>
 
-         <javascript><![CDATA[
-            function validateInteger(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oInteger = new IntegerValidations();
-                for (x in oInteger) {
-                	var field = form[oInteger[x][0]];
-
-                    if (field.type == 'text' ||
-                        field.type == 'textarea' ||
-                        field.type == 'select-one' ||
-                        field.type == 'radio') {
-                        
-                        var value = '';
-						// get field's value
-						if (field.type == "select-one") {
-							var si = field.selectedIndex;
-						    if (si >= 0) {
-							    value = field.options[si].value;
-						    }
-						} else {
-							value = field.value;
-						}
-                        
-                        if (value.length > 0) {
-                        
-                            if (!isAllDigits(value)) {
-                                bValid = false;
-                            } else {
-	                            var iValue = parseInt(value);
-	                            if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) {
-	                                if (i == 0) {
-	                                    focusField = field;
-	                                }
-	                                fields[i++] = oInteger[x][1];
-	                                bValid = false;
-	                           }
-                           }
-                       }
-                    }
-                }
-                if (fields.length > 0) {
-                   focusField.focus();
-                   alert(fields.join('\n'));
-                }
-                return bValid;
-            }
-
-            function isAllDigits(argvalue) {
-                argvalue = argvalue.toString();
-                var validChars = "0123456789";
-                var startFrom = 0;
-                if (argvalue.substring(0, 2) == "0x") {
-                   validChars = "0123456789abcdefABCDEF";
-                   startFrom = 2;
-                } else if (argvalue.charAt(0) == "0") {
-                   validChars = "01234567";
-                   startFrom = 1;
-                }
-                for (var n = 0; n < argvalue.length; n++) {
-                    if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false;
-                }
-                return true;
-            }]]>
-         </javascript>
-
-      </validator>
 
 
       <validator name="long"
@@ -462,7 +167,7 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.long"/>
@@ -474,61 +179,11 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.float"
-       jsFunctionName="FloatValidations">
-
-         <javascript><![CDATA[
-            function validateFloat(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oFloat = new FloatValidations();
-                for (x in oFloat) {
-                	var field = form[oFloat[x][0]];
-                	
-                    if (field.type == 'text' ||
-                        field.type == 'textarea' ||
-                        field.type == 'select-one' ||
-                        field.type == 'radio') {
-                        
-                    	var value = '';
-						// get field's value
-						if (field.type == "select-one") {
-							var si = field.selectedIndex;
-							if (si >= 0) {
-							    value = field.options[si].value;
-							}
-						} else {
-							value = field.value;
-						}
-                        
-                        if (value.length > 0) {
-                        
-	                        var iValue = parseFloat(value);
-	                        if (isNaN(iValue)) {
-	                            if (i == 0) {
-	                                focusField = field;
-	                            }
-	                            fields[i++] = oFloat[x][1];
-	                            bValid = false;
-	                        }
-                        }
-                    }
-                }
-                if (fields.length > 0) {
-                   focusField.focus();
-                   alert(fields.join('\n'));
-                }
-                return bValid;
-            }]]>
-         </javascript>
-
-      </validator>
-
+       jsFunctionName="FloatValidations"/>
 
       <validator name="double"
             classname="org.apache.struts.validator.FieldChecks"
@@ -536,7 +191,7 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.double"/>
@@ -548,181 +203,12 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
                   msg="errors.date"
-       jsFunctionName="DateValidations">
-
-         <javascript><![CDATA[
-            function validateDate(form) {
-               var bValid = true;
-               var focusField = null;
-               var i = 0;
-               var fields = new Array();
-               oDate = new DateValidations();
-               for (x in oDate) {
-                   var value = form[oDate[x][0]].value;
-                   var datePattern = oDate[x][2]("datePatternStrict");
-                   if ((form[oDate[x][0]].type == 'text' ||
-                        form[oDate[x][0]].type == 'textarea') &&
-                       (value.length > 0) &&
-                       (datePattern.length > 0)) {
-                     var MONTH = "MM";
-                     var DAY = "dd";
-                     var YEAR = "yyyy";
-                     var orderMonth = datePattern.indexOf(MONTH);
-                     var orderDay = datePattern.indexOf(DAY);
-                     var orderYear = datePattern.indexOf(YEAR);
-                     if ((orderDay < orderYear && orderDay > orderMonth)) {
-                         var iDelim1 = orderMonth + MONTH.length;
-                         var iDelim2 = orderDay + DAY.length;
-                         var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
-                         var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
-                         if (iDelim1 == orderDay && iDelim2 == orderYear) {
-                            dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");
-                         } else if (iDelim1 == orderDay) {
-                            dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$");
-                         } else if (iDelim2 == orderYear) {
-                            dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$");
-                         } else {
-                            dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$");
-                         }
-                         var matched = dateRegexp.exec(value);
-                         if(matched != null) {
-                            if (!isValidDate(matched[2], matched[1], matched[3])) {
-                               if (i == 0) {
-                                   focusField = form[oDate[x][0]];
-                               }
-                               fields[i++] = oDate[x][1];
-                               bValid =  false;
-                            }
-                         } else {
-                            if (i == 0) {
-                                focusField = form[oDate[x][0]];
-                            }
-                            fields[i++] = oDate[x][1];
-                            bValid =  false;
-                         }
-                     } else if ((orderMonth < orderYear && orderMonth > orderDay)) {
-                         var iDelim1 = orderDay + DAY.length;
-                         var iDelim2 = orderMonth + MONTH.length;
-                         var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
-                         var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
-                         if (iDelim1 == orderMonth && iDelim2 == orderYear) {
-                             dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");
-                         } else if (iDelim1 == orderMonth) {
-                             dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$");
-                         } else if (iDelim2 == orderYear) {
-                             dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$");
-                         } else {
-                             dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$");
-                         }
-                         var matched = dateRegexp.exec(value);
-                         if(matched != null) {
-                             if (!isValidDate(matched[1], matched[2], matched[3])) {
-                                 if (i == 0) {
-                                     focusField = form[oDate[x][0]];
-                                 }
-                                 fields[i++] = oDate[x][1];
-                                 bValid =  false;
-                              }
-                         } else {
-                             if (i == 0) {
-                                 focusField = form[oDate[x][0]];
-                             }
-                             fields[i++] = oDate[x][1];
-                             bValid =  false;
-                         }
-                     } else if ((orderMonth > orderYear && orderMonth < orderDay)) {
-                         var iDelim1 = orderYear + YEAR.length;
-                         var iDelim2 = orderMonth + MONTH.length;
-                         var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
-                         var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
-                         if (iDelim1 == orderMonth && iDelim2 == orderDay) {
-                             dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$");
-                         } else if (iDelim1 == orderMonth) {
-                             dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$");
-                         } else if (iDelim2 == orderDay) {
-                             dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$");
-                         } else {
-                             dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$");
-                         }
-                         var matched = dateRegexp.exec(value);
-                         if(matched != null) {
-                             if (!isValidDate(matched[3], matched[2], matched[1])) {
-                                 if (i == 0) {
-                                     focusField = form[oDate[x][0]];
-                                  }
-                                  fields[i++] = oDate[x][1];
-                                  bValid =  false;
-                              }
-                          } else {
-                              if (i == 0) {
-                                  focusField = form[oDate[x][0]];
-                              }
-                              fields[i++] = oDate[x][1];
-                              bValid =  false;
-                          }
-                     } else {
-                         if (i == 0) {
-                             focusField = form[oDate[x][0]];
-                         }
-                         fields[i++] = oDate[x][1];
-                         bValid =  false;
-                     }
-                  }
-               }
-               if (fields.length > 0) {
-                  focusField.focus();
-                  alert(fields.join('\n'));
-               }
-               return bValid;
-            }
-
-	    function isValidDate(day, month, year) {
-	        if (month < 1 || month > 12) {
-                    return false;
-                }
-                if (day < 1 || day > 31) {
-                    return false;
-                }
-                if ((month == 4 || month == 6 || month == 9 || month == 11) &&
-                    (day == 31)) {
-                    return false;
-                }
-                if (month == 2) {
-                    var leap = (year % 4 == 0 &&
-                               (year % 100 != 0 || year % 400 == 0));
-                    if (day>29 || (day == 29 && !leap)) {
-                        return false;
-                    }
-                }
-                return true;
-            }]]>
-         </javascript>
+       jsFunctionName="DateValidations"/>
 
-      </validator>
-
-<!-- range is deprecated use intRange instead -->
-      <validator name="range"
-            classname="org.apache.struts.validator.FieldChecks"
-               method="validateIntRange"
-         methodParams="java.lang.Object,
-                       org.apache.commons.validator.ValidatorAction,
-                       org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
-                       javax.servlet.http.HttpServletRequest"
-              depends="integer"
-                  msg="errors.range">
-
-         <javascript><![CDATA[
-            function validateRange(form) {
-                return validateIntRange(form);
-            }]]>
-         </javascript>
-
-      </validator>
 
       <validator name="intRange"
             classname="org.apache.struts.validator.FieldChecks"
@@ -730,43 +216,11 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends="integer"
-                  msg="errors.range">
-
-         <javascript><![CDATA[
-            function validateIntRange(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oRange = new intRange();
-                for (x in oRange) {
-                    if ((form[oRange[x][0]].type == 'text' ||
-                         form[oRange[x][0]].type == 'textarea') &&
-                        (form[oRange[x][0]].value.length > 0)) {
-                        var iMin = parseInt(oRange[x][2]("min"));
-                        var iMax = parseInt(oRange[x][2]("max"));
-                        var iValue = parseInt(form[oRange[x][0]].value);
-                        if (!(iValue >= iMin && iValue <= iMax)) {
-                            if (i == 0) {
-                                focusField = form[oRange[x][0]];
-                            }
-                            fields[i++] = oRange[x][1];
-                            bValid = false;
-                        }
-                    }
-                }
-                if (fields.length > 0) {
-                    focusField.focus();
-                    alert(fields.join('\n'));
-                }
-                return bValid;
-            }]]>
-         </javascript>
+                  msg="errors.range"/>
 
-      </validator>
 
       <validator name="floatRange"
             classname="org.apache.struts.validator.FieldChecks"
@@ -774,43 +228,11 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends="float"
-                  msg="errors.range">
+                  msg="errors.range"/>
 
-         <javascript><![CDATA[
-            function validateFloatRange(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oRange = new floatRange();
-                for (x in oRange) {
-                    if ((form[oRange[x][0]].type == 'text' ||
-                         form[oRange[x][0]].type == 'textarea') &&
-                        (form[oRange[x][0]].value.length > 0)) {
-                        var fMin = parseFloat(oRange[x][2]("min"));
-                        var fMax = parseFloat(oRange[x][2]("max"));
-                        var fValue = parseFloat(form[oRange[x][0]].value);
-                        if (!(fValue >= fMin && fValue <= fMax)) {
-                            if (i == 0) {
-                                focusField = form[oRange[x][0]];
-                            }
-                            fields[i++] = oRange[x][1];
-                            bValid = false;
-                        }
-                    }
-                }
-                if (fields.length > 0) {
-                    focusField.focus();
-                    alert(fields.join('\n'));
-                }
-                return bValid;
-            }]]>
-         </javascript>
-
-      </validator>
 
       <validator name="creditCard"
             classname="org.apache.struts.validator.FieldChecks"
@@ -818,76 +240,10 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
-                  msg="errors.creditcard">
-
-         <javascript><![CDATA[
-            function validateCreditCard(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oCreditCard = new creditCard();
-                for (x in oCreditCard) {
-                    if ((form[oCreditCard[x][0]].type == 'text' ||
-                         form[oCreditCard[x][0]].type == 'textarea') &&
-                        (form[oCreditCard[x][0]].value.length > 0)) {
-                        if (!luhnCheck(form[oCreditCard[x][0]].value)) {
-                            if (i == 0) {
-                                focusField = form[oCreditCard[x][0]];
-                            }
-                            fields[i++] = oCreditCard[x][1];
-                            bValid = false;
-                        }
-                    }
-                }
-                if (fields.length > 0) {
-                    focusField.focus();
-                    alert(fields.join('\n'));
-                }
-                return bValid;
-            }
-
-            /**
-             * Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl
-             */
-            function luhnCheck(cardNumber) {
-                if (isLuhnNum(cardNumber)) {
-                    var no_digit = cardNumber.length;
-                    var oddoeven = no_digit & 1;
-                    var sum = 0;
-                    for (var count = 0; count < no_digit; count++) {
-                        var digit = parseInt(cardNumber.charAt(count));
-                        if (!((count & 1) ^ oddoeven)) {
-                            digit *= 2;
-                            if (digit > 9) digit -= 9;
-                        };
-                        sum += digit;
-                    };
-                    if (sum == 0) return false;
-                    if (sum % 10 == 0) return true;
-                };
-                return false;
-            }
-
-            function isLuhnNum(argvalue) {
-                argvalue = argvalue.toString();
-                if (argvalue.length == 0) {
-                    return false;
-                }
-                for (var n = 0; n < argvalue.length; n++) {
-                    if ((argvalue.substring(n, n+1) < "0") ||
-                        (argvalue.substring(n,n+1) > "9")) {
-                        return false;
-                    }
-                }
-                return true;
-            }]]>
-         </javascript>
-
-      </validator>
+                  msg="errors.creditcard"/>
 
 
       <validator name="email"
@@ -896,92 +252,33 @@
          methodParams="java.lang.Object,
                        org.apache.commons.validator.ValidatorAction,
                        org.apache.commons.validator.Field,
-                       org.apache.struts.action.ActionErrors,
+                       org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest"
               depends=""
-                  msg="errors.email">
+                  msg="errors.email"/>
 
-         <javascript><![CDATA[
-            function validateEmail(form) {
-                var bValid = true;
-                var focusField = null;
-                var i = 0;
-                var fields = new Array();
-                oEmail = new email();
-                for (x in oEmail) {
-                    if ((form[oEmail[x][0]].type == 'text' ||
-                         form[oEmail[x][0]].type == 'textarea') &&
-                        (form[oEmail[x][0]].value.length > 0)) {
-                        if (!checkEmail(form[oEmail[x][0]].value)) {
-                            if (i == 0) {
-                                focusField = form[oEmail[x][0]];
-                            }
-                            fields[i++] = oEmail[x][1];
-                            bValid = false;
-                        }
-                    }
-                }
-                if (fields.length > 0) {
-                    focusField.focus();
-                    alert(fields.join('\n'));
-                }
-                return bValid;
-            }
-
-            /**
-             * Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
-             * http://javascript.internet.com
-             */
-            function checkEmail(emailStr) {
-               if (emailStr.length == 0) {
-                   return true;
-               }
-               var emailPat=/^(.+)@(.+)$/;
-               var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
-               var validChars="\[^\\s" + specialChars + "\]";
-               var quotedUser="(\"[^\"]*\")";
-               var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
-               var atom=validChars + '+';
-               var word="(" + atom + "|" + quotedUser + ")";
-               var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
-               var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
-               var matchArray=emailStr.match(emailPat);
-               if (matchArray == null) {
-                   return false;
-               }
-               var user=matchArray[1];
-               var domain=matchArray[2];
-               if (user.match(userPat) == null) {
-                   return false;
-               }
-               var IPArray = domain.match(ipDomainPat);
-               if (IPArray != null) {
-                   for (var i = 1; i <= 4; i++) {
-                      if (IPArray[i] > 255) {
-                         return false;
-                      }
-                   }
-                   return true;
-               }
-               var domainArray=domain.match(domainPat);
-               if (domainArray == null) {
-                   return false;
-               }
-               var atomPat=new RegExp(atom,"g");
-               var domArr=domain.match(atomPat);
-               var len=domArr.length;
-               if ((domArr[domArr.length-1].length < 2) ||
-                   (domArr[domArr.length-1].length > 3)) {
-                   return false;
-               }
-               if (len < 2) {
-                   return false;
-               }
-               return true;
-            }]]>
-         </javascript>
+      <validator name="url"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateUrl"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.url"/>
 
-      </validator>
+     <!--
+       This simply allows struts to include the validateUtilities into a page, it should
+       not be used as a validation rule.
+     -->
+     <validator name="includeJavaScriptUtilities"
+            classname=""
+               method=""
+         methodParams=""
+              depends=""
+                  msg=""
+           jsFunction="org.apache.commons.validator.javascript.validateUtilities"/>
 
    </global>
 

Modified: struts/bsf/trunk/src/struts-example/WEB-INF/web.xml
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/WEB-INF/web.xml?rev=329127&r1=329126&r2=329127&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/WEB-INF/web.xml (original)
+++ struts/bsf/trunk/src/struts-example/WEB-INF/web.xml Thu Oct 27 23:29:07 2005
@@ -5,7 +5,7 @@
   "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
 
 <web-app>
-
+	<display-name>Struts Example Application</display-name>
 
   <!-- Action Servlet Configuration -->
   <servlet>
@@ -13,7 +13,7 @@
     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
     <init-param>
       <param-name>config</param-name>
-      <param-value>/WEB-INF/struts-config.xml</param-value>
+      <param-value>/WEB-INF/struts-config.xml, /WEB-INF/struts-config-registration.xml</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
   </servlet>
@@ -31,26 +31,34 @@
     <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
 
+  <!-- The default error page -->
+  <error-page>
+   <exception-type>java.lang.Exception</exception-type>
+   <location>\Error.jsp</location>
+  </error-page>
+
   <!-- Application Tag Library Descriptor -->
   <taglib>
-    <taglib-uri>/WEB-INF/app.tld</taglib-uri>
+    <taglib-uri>/tags/app</taglib-uri>
     <taglib-location>/WEB-INF/app.tld</taglib-location>
   </taglib>
 
   <!-- Struts Tag Library Descriptors -->
   <taglib>
-    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
+    <taglib-uri>/tags/struts-bean</taglib-uri>
     <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
   </taglib>
-
   <taglib>
-    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
+    <taglib-uri>/tags/struts-html</taglib-uri>
     <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
   </taglib>
-
   <taglib>
-    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
+    <taglib-uri>/tags/struts-logic</taglib-uri>
     <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
+  </taglib>
+  <taglib>
+    <taglib-uri>/tags/struts-nested</taglib-uri>
+    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
   </taglib>
 
 </web-app>

Added: struts/bsf/trunk/src/struts-example/base.css
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/base.css?rev=329127&view=auto
==============================================================================
--- struts/bsf/trunk/src/struts-example/base.css (added)
+++ struts/bsf/trunk/src/struts-example/base.css Thu Oct 27 23:29:07 2005
@@ -0,0 +1,29 @@
+/**
+ * Base stylesheet
+ * @version $Revision: 1.2 $ $Date: 2004-03-07 12:22:52 -0800 (Sun, 07 Mar 2004) $
+ */
+
+body {
+  background-color:#FFFFFF;
+  color:#000000;
+  link:000066;
+  visited:#660066;
+  active:#33CCCC;
+}
+
+A:hover { color: #FF0000; }
+
+h1 { font-family: Arial,Helvetica,sans-serif; }
+h2 { font-family: Arial,Helvetica,sans-serif; }
+h3 { font-family: Arial,Helvetica,sans-serif; }
+h4 { font-family: Arial,Helvetica,sans-serif; }
+h5 { font-family: Arial,Helvetica,sans-serif; }
+h6 { font-family: Arial,Helvetica,sans-serif; }
+
+font.hint {
+  font-style:italic;
+  font-size:80%;
+  font-family:Arial,Helvetica,sans-serif;
+  font-weight:bold;
+  text-align:left;
+}
\ No newline at end of file

Modified: struts/bsf/trunk/src/struts-example/changePassword.jsp
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/changePassword.jsp?rev=329127&r1=329126&r2=329127&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/changePassword.jsp (original)
+++ struts/bsf/trunk/src/struts-example/changePassword.jsp Thu Oct 27 23:29:07 2005
@@ -1,8 +1,8 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
-<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
+<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
+<%@ taglib uri="/tags/struts-html" prefix="html" %>
 
-<html:html>
+<html:html locale="true">
 <head>
 <title><bean:message key="change.title"/></title>
 <html:base/>
@@ -10,7 +10,7 @@
 <body bgcolor="white">
 
 <bean:message key="change.message"/>
-<html:link page="/logon.jsp">
+<html:link action="/Logon">
   <bean:message key="change.try"/>
 </html:link>
 

Added: struts/bsf/trunk/src/struts-example/footer.jsp
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/footer.jsp?rev=329127&view=auto
==============================================================================
--- struts/bsf/trunk/src/struts-example/footer.jsp (added)
+++ struts/bsf/trunk/src/struts-example/footer.jsp Thu Oct 27 23:29:07 2005
@@ -0,0 +1,4 @@
+<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
+<%@ taglib uri="/tags/struts-html" prefix="html" %>
+<hr />
+<p><html:link action="/Welcome"><bean:message key="index.title"/></html:link></p>

Modified: struts/bsf/trunk/src/struts-example/index.jsp
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/index.jsp?rev=329127&r1=329126&r2=329127&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/index.jsp (original)
+++ struts/bsf/trunk/src/struts-example/index.jsp Thu Oct 27 23:29:07 2005
@@ -1,43 +1,26 @@
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
-<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
-<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
-
-<html:html>
-<head>
-<title><bean:message key="index.title"/></title>
-<html:base/>
-</head>
-<body bgcolor="white">
-
-<logic:notPresent name="database" scope="application">
-  <font color="red">
-    ERROR:  User database not loaded -- check servlet container logs
-    for error messages.
-  </font>
-  <hr>
-</logic:notPresent>
-
-<logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application">
-  <font color="red">
-    ERROR:  Application resources not loaded -- check servlet container
-    logs for error messages.
-  </font>
-</logic:notPresent>
-
-<h3><bean:message key="index.heading"/></h3>
-<ul>
-<li><html:link page="/editRegistration.do?action=Create"><bean:message key="index.registration"/></html:link></li>
-<li><html:link page="/logon.jsp"><bean:message key="index.logon"/></html:link></li>
-</ul>
-
-<p>&nbsp;</p>
-<html:link page="/tour.do">
-<font size="-1"><bean:message key="index.tour"/></font>
-</html:link>
-<p>&nbsp;</p>
-
-<html:img page="/struts-power.gif" alt="Powered by Struts"/>
-
-</body>
-</html:html>
+<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
+<logic:redirect action="/Welcome"/>
+<%--
+Redirect default requests to Welcome action.
+By using a redirect, the user-agent will change address to match the path of our Welcome action.
+
+/*
+ * $Header: /home/cvs/jakarta-struts/web/example/index.jsp,v 1.22 2004/03/12 05:19:45 husted Exp $
+ * $Revision: 1.22 $
+ * $Date: 2004-03-11 21:19:46 -0800 (Thu, 11 Mar 2004) $
+ *
+ * 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.
+ */
+--%>

Modified: struts/bsf/trunk/src/struts-example/logon.jsp
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/logon.jsp?rev=329127&r1=329126&r2=329127&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/logon.jsp (original)
+++ struts/bsf/trunk/src/struts-example/logon.jsp Thu Oct 27 23:29:07 2005
@@ -1,17 +1,16 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
-<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
+<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
+<%@ taglib uri="/tags/struts-html" prefix="html" %>
 
-<html:html>
+<html:xhtml/>
+<html>
 <head>
 <title><bean:message key="logon.title"/></title>
-<html:base/>
 </head>
-<body bgcolor="white">
 
 <html:errors/>
 
-<html:form action="/logon" focus="username"
+<html:form action="/SubmitLogon" focus="username"
          onsubmit="return validateLogonForm(this);">
 <table border="0" width="100%">
 
@@ -36,7 +35,7 @@
 
   <tr>
     <td align="right">
-      <html:submit value="Submit"/>
+      <html:submit property="Submit" value="Submit"/>
     </td>
     <td align="left">
       <html:reset/>
@@ -47,10 +46,11 @@
 
 </html:form>
 
-<html:javascript formName="logonForm"
+<html:javascript formName="LogonForm"
         dynamicJavascript="true"
          staticJavascript="false"/>
 <script language="Javascript1.1" src="staticJavascript.jsp"></script>
 
+<jsp:include page="footer.jsp" />
 </body>
-</html:html>
+</html>

Modified: struts/bsf/trunk/src/struts-example/mainMenu.jsp
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/mainMenu.jsp?rev=329127&r1=329126&r2=329127&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/mainMenu.jsp (original)
+++ struts/bsf/trunk/src/struts-example/mainMenu.jsp Thu Oct 27 23:29:07 2005
@@ -1,23 +1,17 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="/WEB-INF/app.tld" prefix="app" %>
-<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
-<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
+<%@ taglib uri="/tags/app" prefix="app" %>
+<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
+<%@ taglib uri="/tags/struts-html" prefix="html" %>
 <app:checkLogon/>
-<jsp:useBean id="user" scope="session" type="org.apache.struts.webapp.example.User"/>
-
-<html:html>
+<html>
 <head>
 <title><bean:message key="mainMenu.title"/></title>
-<html:base/>
+<link rel="stylesheet" type="text/css" href="base.css" />
 </head>
-<body bgcolor="white">
-
-<h3><bean:message key="mainMenu.heading"/>
-<jsp:getProperty name="user" property="username"/></h3>
+<h3><bean:message key="mainMenu.heading"/> <bean:write name="user" property="fullName" /></h3>
 <ul>
-<li><html:link page="/editRegistration.do?action=Edit"><bean:message key="mainMenu.registration"/></html:link></li>
+<li><html:link action="/EditRegistration?action=Edit"><bean:message key="mainMenu.registration"/></html:link></li>
 <li><html:link forward="logoff"><bean:message key="mainMenu.logoff"/></html:link></li>
 </ul>
-
 </body>
-</html:html>
+</html>

Modified: struts/bsf/trunk/src/struts-example/staticJavascript.jsp
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/staticJavascript.jsp?rev=329127&r1=329126&r2=329127&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/staticJavascript.jsp (original)
+++ struts/bsf/trunk/src/struts-example/staticJavascript.jsp Thu Oct 27 23:29:07 2005
@@ -2,6 +2,6 @@
 <%-- set document type to Javascript (addresses a bug in Netscape according to a web resource --%>
 <%@ page contentType="application/x-javascript" %>
 
-<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
+<%@ taglib uri="/tags/struts-html" prefix="html" %>
 
 <html:javascript dynamicJavascript="false" staticJavascript="true"/>

Modified: struts/bsf/trunk/src/struts-example/subscription.jsp
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/subscription.jsp?rev=329127&r1=329126&r2=329127&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/subscription.jsp (original)
+++ struts/bsf/trunk/src/struts-example/subscription.jsp Thu Oct 27 23:29:07 2005
@@ -1,21 +1,21 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="/WEB-INF/app.tld"    prefix="app" %>
-<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
-<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
-<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
+<%@ taglib uri="/tags/app"    prefix="app" %>
+<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
+<%@ taglib uri="/tags/struts-html" prefix="html" %>
+<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
 <app:checkLogon/>
 
 <html:html>
 <head>
-<logic:equal name="subscriptionForm" property="action"
+<logic:equal name="SubscriptionForm" property="action"
             scope="request" value="Create">
   <title><bean:message key="subscription.title.create"/></title>
 </logic:equal>
-<logic:equal name="subscriptionForm" property="action"
+<logic:equal name="SubscriptionForm" property="action"
             scope="request" value="Delete">
   <title><bean:message key="subscription.title.delete"/></title>
 </logic:equal>
-<logic:equal name="subscriptionForm" property="action"
+<logic:equal name="SubscriptionForm" property="action"
             scope="request" value="Edit">
   <title><bean:message key="subscription.title.edit"/></title>
 </logic:equal>
@@ -25,7 +25,7 @@
 
 <html:errors/>
 
-<html:form action="/saveSubscription" focus="host">
+<html:form action="/SaveSubscription" focus="host">
 <html:hidden property="action"/>
 <table border="0" width="100%">
 
@@ -43,11 +43,11 @@
       <bean:message key="prompt.mailHostname"/>:
     </th>
     <td align="left">
-      <logic:equal name="subscriptionForm" property="action"
+      <logic:equal name="SubscriptionForm" property="action"
                   scope="request" value="Create">
         <html:text property="host" size="50"/>
       </logic:equal>
-      <logic:notEqual name="subscriptionForm" property="action"
+      <logic:notEqual name="SubscriptionForm" property="action"
                      scope="request" value="Create">
         <html:hidden property="host" write="true"/>
       </logic:notEqual>
@@ -95,19 +95,19 @@
 
   <tr>
     <td align="right">
-      <logic:equal name="subscriptionForm" property="action"
+      <logic:equal name="SubscriptionForm" property="action"
                   scope="request" value="Create">
         <html:submit>
           <bean:message key="button.save"/>
         </html:submit>
       </logic:equal>
-      <logic:equal name="subscriptionForm" property="action"
+      <logic:equal name="SubscriptionForm" property="action"
                   scope="request" value="Delete">
         <html:submit>
           <bean:message key="button.confirm"/>
         </html:submit>
       </logic:equal>
-      <logic:equal name="subscriptionForm" property="action"
+      <logic:equal name="SubscriptionForm" property="action"
                   scope="request" value="Edit">
         <html:submit>
           <bean:message key="button.save"/>
@@ -115,7 +115,7 @@
       </logic:equal>
     </td>
     <td align="left">
-      <logic:notEqual name="subscriptionForm" property="action"
+      <logic:notEqual name="SubscriptionForm" property="action"
                      scope="request" value="Delete">
         <html:reset>
           <bean:message key="button.reset"/>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org