Skip to content

Commit

Permalink
upgrade to DWR 3 with a showcase
Browse files Browse the repository at this point in the history
See also WW-4069
  • Loading branch information
yasserzamani committed Dec 3, 2018
1 parent c489253 commit 7dcdfbe
Show file tree
Hide file tree
Showing 6 changed files with 102 additions and 3 deletions.
5 changes: 5 additions & 0 deletions apps/showcase/src/main/resources/struts-validation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@
<result>/WEB-INF/validation/quiz-success.jsp</result>
</action>

<action name="quizDwr" class="org.apache.struts2.showcase.validation.QuizAction">
<result name="input">/WEB-INF/validation/quiz-dwr.jsp</result>
<result>/WEB-INF/validation/quiz-success.jsp</result>
</action>

<action name="quizClientCss" class="org.apache.struts2.showcase.validation.QuizAction">
<result name="input">/WEB-INF/validation/quiz-client-css.jsp</result>
<result>/WEB-INF/validation/quiz-success.jsp</result>
Expand Down
2 changes: 2 additions & 0 deletions apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@
<ul class="dropdown-menu" role="menu">
<s:url var="quizBasic" namespace="/validation" action="quizBasic" method="input"/>
<s:url var="quizClient" namespace="/validation" action="quizClient" method="input"/>
<s:url var="quizDwr" namespace="/validation" action="quizDwr" method="input"/>
<s:url var="quizClientCss" namespace="/validation" action="quizClientCss" method="input"/>
<s:url var="fieldValidatorUrl" action="showFieldValidatorsExamples" namespace="/validation"/>
<s:url var="nonFieldValidatorUrl" action="showNonFieldValidatorsExamples" namespace="/validation"/>
Expand All @@ -216,6 +217,7 @@
<li><s:a href="%{storeMessageAcrossRequestExample}">Store across request using MessageStoreInterceptor (Example)</s:a></li>
<li><s:a href="%{quizBasic}">Validation (basic)</s:a></li>
<li><s:a href="%{quizClient}">Validation (client)</s:a></li>
<li><s:a href="%{quizDwr}">Validation (DWR)</s:a></li>
<li><s:a href="%{quizClientCss}">Validation (client using css_xhtml theme)</s:a></li>
<li><s:a href="%{visitorValidatorUrl}">Visitor Validator</s:a></li>
<li><s:a href="%{ajaxFormSubmitUrl}">AJAX Form Submit</s:a></li>
Expand Down
92 changes: 92 additions & 0 deletions apps/showcase/src/main/webapp/WEB-INF/validation/quiz-dwr.jsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<!--
/*
* 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.
*/
-->
<%@ taglib prefix="s" uri="/struts-tags" %>

<!-- START SNIPPET: dwrValidation -->

<html>
<head>
<title>Struts2 Showcase - Validation - DWR</title>
<s:head/>
<script type='text/javascript' src='../dwr/engine.js'></script>
<script type='text/javascript' src='../dwr/util.js'></script>
<script type='text/javascript' src='../dwr/interface/validator.js'></script>
<script type='text/javascript'>
var dwrValidateReply = function(data) {
var validationResult = '';
for (index = 0; index < data.actionErrors.length; ++index) {
validationResult += (data.actionErrors[index] + '. ');
}
for (index = 0; index < data.actionMessages.length; ++index) {
validationResult += (data.actionMessages[index] + '. ');
}
if (typeof data.fieldErrors.name !== 'undefined') {
for (index = 0; index < data.fieldErrors.name.length; ++index) {
validationResult += (data.fieldErrors.name[index] + '. ');
}
}
if (typeof data.fieldErrors.age !== 'undefined') {
for (index = 0; index < data.fieldErrors.age.length; ++index) {
validationResult += (data.fieldErrors.age[index] + '. ');
}
}
if (validationResult === '') {
$('form').submit();
} else {
dwr.util.setValue('validationResult', validationResult);
}
};
function dwrFormValidation() {
var postData = {};
$('form').serializeArray().map(function (x) {
postData[x.name] = x.value;
});
validator.doPost('/validation', 'quizDwr', postData, dwrValidateReply);
return false;
}
</script>
</head>

<body>

<div class="page-header">
<h1>DWR validation Example</h1>
</div>

<div class="container-fluid">
<div class="row">
<div class="col-md-12">

<s:form method="post">
<s:textfield label="Name" name="name"/>
<s:textfield label="Age" name="age"/>
<s:textfield label="Favorite color" name="answer"/>
<s:submit cssClass="btn btn-primary" onClick="return dwrFormValidation()"/>
</s:form>
<div id="validationResult" class="errorMessage"></div>
</div>
</div>
</div>
</body>
</html>

<!-- END SNIPPET: dwrValidation -->

2 changes: 1 addition & 1 deletion apps/showcase/src/main/webapp/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@

<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
import org.apache.struts2.dispatcher.RequestMap;
import org.apache.struts2.dispatcher.SessionMap;

import uk.ltd.getahead.dwr.WebContextFactory;
import org.directwebremoting.WebContextFactory;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionProxy;
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -650,7 +650,7 @@
<dependency>
<groupId>org.directwebremoting</groupId>
<artifactId>dwr</artifactId>
<version>2.0.11-RELEASE</version>
<version>3.0.2-RELEASE</version>
</dependency>

<dependency>
Expand Down

0 comments on commit 7dcdfbe

Please sign in to comment.