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> </p>
-<html:link page="/tour.do">
-<font size="-1"><bean:message key="index.tour"/></font>
-</html:link>
-<p> </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