WW-4505 Add plugin to support bean validation Add bean validation example to the showcase application
Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/3219764e Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/3219764e Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/3219764e Branch: refs/heads/master Commit: 3219764efcbce65d703f829bc37d71ac4b270f3f Parents: a7f03e3 Author: Johannes Geppert <joh...@gmail.com> Authored: Thu May 28 20:12:53 2015 +0200 Committer: Johannes Geppert <joh...@gmail.com> Committed: Thu May 28 20:12:53 2015 +0200 ---------------------------------------------------------------------- apps/showcase/pom.xml | 17 ++ .../validation/BeanValidationExampleAction.java | 170 +++++++++++++++++++ .../src/main/resources/struts-validation.xml | 8 + apps/showcase/src/main/resources/struts.xml | 2 +- .../WEB-INF/bean-validation/bean-validation.jsp | 57 +++++++ .../src/main/webapp/WEB-INF/decorators/main.jsp | 3 +- .../src/main/webapp/WEB-INF/tags/ui/example.vm | 2 - .../webapp/WEB-INF/tags/ui/exampleSubmited.vm | 3 - .../validation/clientSideValidationExample.jsp | 3 - .../validation/fieldValidatorsExample.jsp | 2 - .../main/webapp/WEB-INF/validation/footer.jsp | 8 - .../validation/nonFieldValidatorsExample.jsp | 3 - .../webapp/WEB-INF/validation/quiz-basic.jsp | 3 - .../WEB-INF/validation/quiz-client-css.jsp | 3 - .../webapp/WEB-INF/validation/quiz-client.jsp | 2 - .../webapp/WEB-INF/validation/quiz-success.jsp | 2 - .../storeErrorsAcrossRequestCancel.jsp | 2 - .../storeErrorsAcrossRequestExample.jsp | 2 - .../validation/storeErrorsAcrossRequestOk.jsp | 2 - .../successClientSideValidationExample.jsp | 2 - .../successFieldValidatorsExample.jsp | 2 - .../successNonFieldValidatorsExample.jsp | 28 ++- .../successVisitorValidatorsExample.jsp | 28 ++- .../validation/visitorValidatorsExample.jsp | 2 - 24 files changed, 281 insertions(+), 75 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/pom.xml ---------------------------------------------------------------------- diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml index bf70001..e1c9b77 100644 --- a/apps/showcase/pom.xml +++ b/apps/showcase/pom.xml @@ -87,6 +87,11 @@ </dependency> <dependency> + <groupId>org.apache.struts</groupId> + <artifactId>struts2-bean-validation-plugin</artifactId> + </dependency> + + <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <scope>provided</scope> @@ -160,6 +165,18 @@ </exclusions> </dependency> + <!-- BeanValidation Example --> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-validator</artifactId> + <version>5.1.3.Final</version> + </dependency> + <dependency> + <groupId>org.glassfish</groupId> + <artifactId>javax.el</artifactId> + <version>3.0.0</version> + </dependency> + </dependencies> <build> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/BeanValidationExampleAction.java ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/BeanValidationExampleAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/BeanValidationExampleAction.java new file mode 100644 index 0000000..b9f2b35 --- /dev/null +++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/BeanValidationExampleAction.java @@ -0,0 +1,170 @@ +/* + * $Id$ + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.struts2.showcase.validation; + +import com.opensymphony.xwork2.ActionSupport; +import org.apache.struts.beanvalidation.constraints.FieldMatch; +import org.apache.struts2.convention.annotation.Action; +import org.apache.struts2.convention.annotation.Namespace; +import org.apache.struts2.convention.annotation.ParentPackage; +import org.apache.struts2.convention.annotation.Result; +import org.apache.struts2.interceptor.validation.SkipValidation; +import org.hibernate.validator.constraints.Email; +import org.hibernate.validator.constraints.NotBlank; +import org.hibernate.validator.constraints.ScriptAssert; +import org.hibernate.validator.constraints.URL; + +import javax.validation.constraints.*; +import java.sql.Date; + +/** + * <!-- START SNIPPET: beanValidatationExample --> + */ +@Namespace("/bean-validation") +@ParentPackage("bean-validation") +@Action(results = { + @Result(name = "input", location = "bean-validation.jsp"), + @Result(name = "success", location = "/WEB-INF/validation/successFieldValidatorsExample.jsp") +}) +@FieldMatch(first = "fieldExpressionValidatorField", second = "requiredValidatorField", message = "requiredValidatorField and fieldExpressionValidatorField are not matching") +@ScriptAssert(lang = "javascript", script = "_this.dateValidatorField != null && _this.dateValidatorField.before(new java.util.Date())", message = "Date need to before now") +public class BeanValidationExampleAction extends ActionSupport { + + @NotNull + private String requiredValidatorField = null; + + @NotBlank + private String requiredStringValidatorField = null; + + @NotNull + @Min(1) + @Max(10) + private Integer integerValidatorField = null; + + @NotNull + private Date dateValidatorField = null; + + @NotNull + @Size(min = 4, max = 64) + @Email + private String emailValidatorField = null; + + @NotNull + @Size(min = 4, max = 64) + @URL + private String urlValidatorField = null; + + @NotNull + @Size(min = 2, max = 4) + private String stringLengthValidatorField = null; + + @Pattern(regexp = "[^<>]+") + private String regexValidatorField = null; + + private String fieldExpressionValidatorField = null; + + @Action(value = "bean-validation", results = { + @Result(name = "success", location = "bean-validation.jsp") + }) + @SkipValidation + public String beanValidation(){ + return SUCCESS; + } + + public Date getDateValidatorField() { + return dateValidatorField; + } + + public void setDateValidatorField(Date dateValidatorField) { + this.dateValidatorField = dateValidatorField; + } + + public String getEmailValidatorField() { + return emailValidatorField; + } + + public void setEmailValidatorField(String emailValidatorField) { + this.emailValidatorField = emailValidatorField; + } + + public Integer getIntegerValidatorField() { + return integerValidatorField; + } + + public void setIntegerValidatorField(Integer integerValidatorField) { + this.integerValidatorField = integerValidatorField; + } + + public String getRegexValidatorField() { + return regexValidatorField; + } + + public void setRegexValidatorField(String regexValidatorField) { + this.regexValidatorField = regexValidatorField; + } + + public String getRequiredStringValidatorField() { + return requiredStringValidatorField; + } + + public void setRequiredStringValidatorField(String requiredStringValidatorField) { + this.requiredStringValidatorField = requiredStringValidatorField; + } + + public String getRequiredValidatorField() { + return requiredValidatorField; + } + + public void setRequiredValidatorField(String requiredValidatorField) { + this.requiredValidatorField = requiredValidatorField; + } + + public String getStringLengthValidatorField() { + return stringLengthValidatorField; + } + + public void setStringLengthValidatorField(String stringLengthValidatorField) { + this.stringLengthValidatorField = stringLengthValidatorField; + } + + public String getFieldExpressionValidatorField() { + return fieldExpressionValidatorField; + } + + public void setFieldExpressionValidatorField( + String fieldExpressionValidatorField) { + this.fieldExpressionValidatorField = fieldExpressionValidatorField; + } + + public String getUrlValidatorField() { + return urlValidatorField; + } + + public void setUrlValidatorField(String urlValidatorField) { + this.urlValidatorField = urlValidatorField; + } +} + +/** + * <!-- END SNIPPET: beanValidatationExample --> + */ + + http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/resources/struts-validation.xml ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/resources/struts-validation.xml b/apps/showcase/src/main/resources/struts-validation.xml index ee40dc9..bab906e 100755 --- a/apps/showcase/src/main/resources/struts-validation.xml +++ b/apps/showcase/src/main/resources/struts-validation.xml @@ -4,6 +4,14 @@ "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> + + <constant name="struts.beanValidation.providerClass" value="org.hibernate.validator.HibernateValidator"/> + <constant name="struts.beanValidation.ignoreXMLConfiguration" value="true"/> + + <package name="bean-validation" extends="struts-bean-validation" namespace="/bean-validation"> + <!-- Actions are configured via annotations --> + </package> + <package name="validation" extends="json-default" namespace="/validation"> <action name="index"> <result>/WEB-INF/validation/index.jsp</result> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/resources/struts.xml ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/resources/struts.xml b/apps/showcase/src/main/resources/struts.xml index 4761eb3..5a12a9e 100644 --- a/apps/showcase/src/main/resources/struts.xml +++ b/apps/showcase/src/main/resources/struts.xml @@ -15,7 +15,7 @@ <constant name="struts.custom.i18n.resources" value="globalMessages" /> <constant name="struts.action.extension" value="action,," /> - <constant name="struts.convention.package.locators.basePackage" value="org.apache.struts2.showcase.person" /> + <constant name="struts.convention.package.locators.basePackage" value="org.apache.struts2.showcase" /> <constant name="struts.convention.result.path" value="/WEB-INF" /> <!-- Necessary for Showcase because default includes org.apache.struts2.* --> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/bean-validation/bean-validation.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/bean-validation/bean-validation.jsp b/apps/showcase/src/main/webapp/WEB-INF/bean-validation/bean-validation.jsp new file mode 100644 index 0000000..101ef23 --- /dev/null +++ b/apps/showcase/src/main/webapp/WEB-INF/bean-validation/bean-validation.jsp @@ -0,0 +1,57 @@ +<%@taglib prefix="s" uri="/struts-tags" %> +<html> +<head> + <title>Struts2 Showcase - Validation - Bean Validation Example</title> + <s:head theme="xhtml"/> +</head> +<body> + +<div class="page-header"> + <h1>Field Validation Examples</h1> +</div> + +<div class="container-fluid"> + <div class="row-fluid"> + <div class="span12"> + + <!-- START SNIPPET: beanValidatationExample --> + + <h3>All Action Errors Will Appear Here</h3> + <s:actionerror/> + <hr/> + + <h3>All Field Errors Will Appear Here</h3> + <s:fielderror/> + <hr/> + + <h3>Field Error due to 'Required String Validator Field' Will Appear Here</h3> + <s:fielderror> + <s:param value="%{'requiredStringValidatorField'}"/> + </s:fielderror> + <hr/> + + <h3>Field Error due to 'String Length Validator Field' Will Appear Here</h3> + <s:fielderror> + <s:param>stringLengthValidatorField</s:param> + </s:fielderror> + <hr/> + + <s:form action="bean-validation-example" namespace="/bean-validation" method="POST" theme="xhtml"> + <s:textfield label="Required Validator Field" name="requiredValidatorField"/> + <s:textfield label="Required String Validator Field" name="requiredStringValidatorField"/> + <s:textfield label="Integer Validator Field" name="integerValidatorField"/> + <s:textfield label="Date Validator Field" name="dateValidatorField"/> + <s:textfield label="Email Validator Field" name="emailValidatorField"/> + <s:textfield label="URL Validator Field" name="urlValidatorField"/> + <s:textfield label="String Length Validator Field" name="stringLengthValidatorField"/> + <s:textfield label="Regex Validator Field" name="regexValidatorField"/> + <s:textfield label="Field Expression Validator Field" name="fieldExpressionValidatorField"/> + <s:submit label="Submit" cssClass="btn btn-primary"/> + </s:form> + + <!-- END SNIPPET: beanValidatationExample --> + </div> + </div> +</div> +</body> +</html> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp b/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp index 0c296b1..b84cbee 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp @@ -36,7 +36,6 @@ <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> <meta name="description" content="Struts2 Showcase for Apache Struts Project"> <meta name="author" content="The Apache Software Foundation"> @@ -207,6 +206,8 @@ <s:url var="visitorValidatorUrl" action="showVisitorValidatorsExamples" namespace="/validation"/> <s:url var="clientSideValidationUrl" action="clientSideValidationExample" namespace="/validation"/> <s:url var="storeMessageAcrossRequestExample" namespace="/validation" action="storeErrorsAcrossRequestExample"/> + <s:url var="beanValidationUrl" action="bean-validation" namespace="/bean-validation"/> + <li><s:a href="%{beanValidationUrl}">Bean Validation</s:a></li> <li><s:a href="%{fieldValidatorUrl}">Field Validators</s:a></li> <li><s:a href="%{clientSideValidationUrl}">Field Validators with client-side JavaScript</s:a></li> <li><s:a href="%{nonFieldValidatorUrl}">Non Field Validator</s:a></li> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/tags/ui/example.vm ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/tags/ui/example.vm b/apps/showcase/src/main/webapp/WEB-INF/tags/ui/example.vm index 64d6431..399c3cf 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/tags/ui/example.vm +++ b/apps/showcase/src/main/webapp/WEB-INF/tags/ui/example.vm @@ -27,8 +27,6 @@ #sreset("cssClass=btn btn-danger") #end - #surl ("id=url" "value=index.jsp") - <a href="${url}" class="btn btn-info"><i class="icon icon-arrow-left"></i> Back to index.jsp</a> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/tags/ui/exampleSubmited.vm ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/tags/ui/exampleSubmited.vm b/apps/showcase/src/main/webapp/WEB-INF/tags/ui/exampleSubmited.vm index 9646a4f..fc6d9f3 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/tags/ui/exampleSubmited.vm +++ b/apps/showcase/src/main/webapp/WEB-INF/tags/ui/exampleSubmited.vm @@ -51,9 +51,6 @@ </td> </tr> </table> - - #surl ("id=url" "value=index.jsp") - #sa("href=${url}")Back to index.jsp#end </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/clientSideValidationExample.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/clientSideValidationExample.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/clientSideValidationExample.jsp index f199c31..42103e8 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/clientSideValidationExample.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/clientSideValidationExample.jsp @@ -54,9 +54,6 @@ </s:form> <!-- END SNIPPET: fieldValidatorsExample --> - - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/fieldValidatorsExample.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/fieldValidatorsExample.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/fieldValidatorsExample.jsp index 13a29f0..f9332eb 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/fieldValidatorsExample.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/fieldValidatorsExample.jsp @@ -54,8 +54,6 @@ </s:form> <!-- END SNIPPET: fieldValidatorsExample --> - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/footer.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/footer.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/footer.jsp deleted file mode 100644 index 20fa2ad..0000000 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/footer.jsp +++ /dev/null @@ -1,8 +0,0 @@ - <%@taglib prefix="s" uri="/struts-tags" %> - -<hr/> - -<s:url var="backToValidationExamples" action="list" namespace="/validation" /> -<s:url var="backToShowCase" action="showcase" namespace="/" /> - -<s:a href="%{backToValidationExamples}" cssClass="btn btn-info"><i class="icon icon-arrow-left"></i> Back To Validation Examples</s:a> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/nonFieldValidatorsExample.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/nonFieldValidatorsExample.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/nonFieldValidatorsExample.jsp index 27c8f8b..7860b66 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/nonFieldValidatorsExample.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/nonFieldValidatorsExample.jsp @@ -35,9 +35,6 @@ <!-- END SNIPPET: nonFieldValidatorsExample --> - - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-basic.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-basic.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-basic.jsp index e7cb1f9..5ec5aaa 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-basic.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-basic.jsp @@ -29,9 +29,6 @@ <s:textfield label="Favorite color" name="answer"/> <s:submit cssClass="btn btn-primary"/> </s:form> - - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client-css.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client-css.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client-css.jsp index c675893..04d104c 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client-css.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client-css.jsp @@ -24,9 +24,6 @@ <s:textfield label="Favorite color" name="answer"/> <s:submit cssClass="btn btn-primary"/> </s:form> - - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client.jsp index 27268b8..ceec697 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-client.jsp @@ -25,8 +25,6 @@ <s:textfield label="Favorite color" name="answer"/> <s:submit cssClass="btn btn-primary"/> </s:form> - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-success.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-success.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-success.jsp index 58180bb..6f3672d 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-success.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-success.jsp @@ -18,8 +18,6 @@ Thank you, <b><s:property value="name"/></b>. Your answer has been submitted as: <b><s:property value="answer"/></b> - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestCancel.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestCancel.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestCancel.jsp index fd9fb55..23565a8 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestCancel.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestCancel.jsp @@ -21,8 +21,6 @@ <s:url var="url" value="/validation/storeErrorsAcrossRequestExample.jsp" /> <s:a href="%{#url}">Try Again</s:a> - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestExample.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestExample.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestExample.jsp index 939e0ac..7d2e7b4 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestExample.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestExample.jsp @@ -45,8 +45,6 @@ Because of the redirect, the input values are not retained. </p> - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestOk.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestOk.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestOk.jsp index 6c5ddb1..27d4331 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestOk.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/storeErrorsAcrossRequestOk.jsp @@ -21,8 +21,6 @@ <s:url var="url" value="/validation/storeErrorsAcrossRequestExample.jsp" /> <s:a href="%{#id}">Try Again</s:a> - - <s:include value="footer.jsp"/> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/successClientSideValidationExample.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/successClientSideValidationExample.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/successClientSideValidationExample.jsp index cb56e9c..103785e 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/successClientSideValidationExample.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/successClientSideValidationExample.jsp @@ -55,8 +55,6 @@ <td>Field Expression Validator Field: <s:property value="fieldExpressionValidatorField" /></td> </tr> </table> - - <s:include value="footer.jsp" /> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/successFieldValidatorsExample.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/successFieldValidatorsExample.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/successFieldValidatorsExample.jsp index f795bcc..2847d29 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/successFieldValidatorsExample.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/successFieldValidatorsExample.jsp @@ -52,8 +52,6 @@ <td>Field Expression Validator Field: <s:property value="fieldExpressionValidatorField" /></td> </tr> </table> - - <s:include value="footer.jsp" /> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/successNonFieldValidatorsExample.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/successNonFieldValidatorsExample.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/successNonFieldValidatorsExample.jsp index 4033300..95024f1 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/successNonFieldValidatorsExample.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/successNonFieldValidatorsExample.jsp @@ -23,21 +23,19 @@ <div class="span12"> <table class="table table-striped table-bordered table-hover table-condensed"> - <tr> - <td>Some Text: </td> - <td><s:property value="someText" /></td> - </tr> - <tr> - <td>Some Text Retyped: </td> - <td><s:property value="someTextRetype" /></td> - </tr> - <tr> - <td>Some Text Retyped Again: </td> - <td><s:property value="someTextRetypeAgain" /></td> - </tr> - </table> - - <s:include value="footer.jsp" /> + <tr> + <td>Some Text: </td> + <td><s:property value="someText" /></td> + </tr> + <tr> + <td>Some Text Retyped: </td> + <td><s:property value="someTextRetype" /></td> + </tr> + <tr> + <td>Some Text Retyped Again: </td> + <td><s:property value="someTextRetypeAgain" /></td> + </tr> + </table> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/successVisitorValidatorsExample.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/successVisitorValidatorsExample.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/successVisitorValidatorsExample.jsp index 6eecc62..1e8ad50 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/successVisitorValidatorsExample.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/successVisitorValidatorsExample.jsp @@ -23,21 +23,19 @@ <div class="span12"> <table class="table table-striped table-bordered table-hover table-condensed"> - <tr> - <td>User Name:</td> - <td><s:property value="user.name" /></td> - </tr> - <tr> - <td>User Age:</td> - <td><s:property value="user.age" /></td> - </tr> - <tr> - <td>User Birthday:</td> - <td><s:property value="user.birthday" /></td> - </tr> - </table> - - <s:include value="footer.jsp" /> + <tr> + <td>User Name:</td> + <td><s:property value="user.name" /></td> + </tr> + <tr> + <td>User Age:</td> + <td><s:property value="user.age" /></td> + </tr> + <tr> + <td>User Birthday:</td> + <td><s:property value="user.birthday" /></td> + </tr> + </table> </div> </div> http://git-wip-us.apache.org/repos/asf/struts/blob/3219764e/apps/showcase/src/main/webapp/WEB-INF/validation/visitorValidatorsExample.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/validation/visitorValidatorsExample.jsp b/apps/showcase/src/main/webapp/WEB-INF/validation/visitorValidatorsExample.jsp index 06ee70e..c9db5fd 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/validation/visitorValidatorsExample.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/validation/visitorValidatorsExample.jsp @@ -34,8 +34,6 @@ </s:form> <!-- END SNIPPET: visitorValidatorsExample --> - - <s:include value="footer.jsp"/> </div> </div> </div>