Author: jasha
Date: Sun Jul  8 13:54:05 2012
New Revision: 1358743

URL: http://svn.apache.org/viewvc?rev=1358743&view=rev
Log:
RAVE-658 fix for duplicate header & footer after submitting form
cause: initialize relied on tiles:insertDefinition, methods after submit relied 
on view name but used the same jsp with tiles:insertDefinition

Modified:
    
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ReminderController.java
    
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/newpassword.jsp
    
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/retrieveusername.jsp

Modified: 
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ReminderController.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ReminderController.java?rev=1358743&r1=1358742&r2=1358743&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ReminderController.java
 (original)
+++ 
rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/ReminderController.java
 Sun Jul  8 13:54:05 2012
@@ -7,7 +7,7 @@
  * "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
+ *   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
@@ -66,9 +66,11 @@ public class ReminderController {
 
 
     @RequestMapping(value = {"/retrieveusername", "/newpassword"})
-    public void initialize(ModelMap model, HttpServletRequest request) {
+    public String initialize(ModelMap model, HttpServletRequest request) {
         model.addAttribute(ModelKeys.CAPTCHA_HTML, 
captchaService.createHtml(request));
         model.addAttribute(ModelKeys.USER, new UserImpl());
+        return "/retrieveusername".equals(request.getPathInfo()) ? 
ViewNames.USERNAME_REQUEST :
+                ViewNames.NEW_PASSWORD_REQUEST;
     }
 
 

Modified: 
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/newpassword.jsp
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/newpassword.jsp?rev=1358743&r1=1358742&r2=1358743&view=diff
==============================================================================
--- 
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/newpassword.jsp
 (original)
+++ 
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/newpassword.jsp
 Sun Jul  8 13:54:05 2012
@@ -1,101 +1,97 @@
 <%--
-  ~ 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.
+  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.
   --%>
 
 <%@ page language="java" trimDirectiveWhitespaces="true" %>
 <%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
 <fmt:setBundle basename="messages"/>
 
-<tiles:insertDefinition name="templates.base">
-    <tiles:putAttribute name="pageTitleKey" value="page.newpassword.title"/>
-    <tiles:importAttribute name="pageTitleKey" scope="request"/>
-
-    <tiles:putAttribute name="body">
-               <header>
-                   <nav>
-                       <div class="navbar navbar-fixed-top">
-                           <div class="container">
-                               <a href="/" class="brand">RAVE</a>
-                               <ul class="nav pull-right">
-                                   <li class="divider-vertical"></li>
-                                   <li>
-                                       <form class="form-inline " 
action="<c:url value="/app/retrieveusername"/>" method="get">
-                                           <fmt:message 
key="page.login.forgot.username.button" var="requestNewUsernameButton"/>
-                                           <button class="btn btn-info" 
id="requestNewUsernameButton" type="submit" 
value="${requestNewUsernameButton}">${requestNewUsernameButton}</button>
-                                       </form>
-                                   </li>
-                                   <li class="divider-vertical"></li>
-
-                                   <li>
-                                       <form class="form-inline" 
action="<c:url value="/app/newaccount.jsp"/>" method="get">
-                                           <fieldset>
-                                               <fmt:message 
key="page.login.createaccount.button" var="createAccountButtonText"/>
-                                               <button class="btn btn-info" 
id="createNewAccountButton" type="submit" 
value="${createAccountButtonText}">${createAccountButtonText}</button>
-                                           </fieldset>
-                                       </form>
-                                   </li>
-                                   <li class="divider-vertical"></li>
-                               </ul>
-                           </div>
-                       </div>
-                   </nav>
-               </header>
-               <br><br>
-        <div class="container navbar-spacer">
-            <h1><fmt:message key="page.newpassword.title"/></h1>
-            <c:choose>
-                <c:when test="${success}">
-                    <div class="alert-message success">
-                        <fmt:message key="page.newpassword.email.sent">
-                            <fmt:param>${email}</fmt:param>
-                        </fmt:message>
-                    </div>
-                    <a href="/"><fmt:message 
key="page.newpassword.email.sent.login"/></a>
-                </c:when>
-
-                <c:otherwise>
+<tiles:putAttribute name="pageTitleKey" value="page.newpassword.title"/>
+<tiles:importAttribute name="pageTitleKey" scope="request"/>
 
-                    <form:form cssClass="form-horizontal well" 
commandName="user" action="newpassword" method="post">
-                        <fieldset>
-                            <p><fmt:message 
key="form.all.fields.required"/></p>
-
-                            <p><form:errors cssClass="error"/></p>
-
-                            <div class="control-group">
-                                <label class="control-label" 
for="emailField"><fmt:message key="page.general.email"/></label>
-                                <div class="controls">
-                                    <form:input id="emailField" path="email" 
required="required" autofocus="autofocus"/>
-                                    <form:errors path="email" 
cssClass="error"/>
-                                </div>
-                            </div>
-                        </fieldset>
-                        <fieldset>
-                            <div class="control-group">
-                                <div class="controls">${captchaHtml}</div>
-                            </div>
-                        </fieldset>
-                        <fieldset>
-                            <fmt:message 
key="page.login.forgot.password.button" var="submitButtonText"/>
-                            <button type="submit" class="btn btn-primary" 
value="${submitButtonText}">${submitButtonText}</button>
-                        </fieldset>
-                    </form:form>
-                </c:otherwise>
-            </c:choose>
+<header>
+    <nav>
+        <div class="navbar navbar-fixed-top">
+            <div class="container">
+                <a href="<c:url value="/"/>" class="brand">RAVE</a>
+                <ul class="nav pull-right">
+                    <li class="divider-vertical"></li>
+                    <li>
+                        <form class="form-inline " action="<c:url 
value="/app/retrieveusername"/>" method="get">
+                            <fmt:message 
key="page.login.forgot.username.button" var="requestNewUsernameButton"/>
+                            <button class="btn btn-info" 
id="requestNewUsernameButton" type="submit" 
value="${requestNewUsernameButton}">${requestNewUsernameButton}</button>
+                        </form>
+                    </li>
+                    <li class="divider-vertical"></li>
+
+                    <li>
+                        <form class="form-inline" action="<c:url 
value="/app/newaccount.jsp"/>" method="get">
+                            <fieldset>
+                                <fmt:message 
key="page.login.createaccount.button" var="createAccountButtonText"/>
+                                <button class="btn btn-info" 
id="createNewAccountButton" type="submit" 
value="${createAccountButtonText}">${createAccountButtonText}</button>
+                            </fieldset>
+                        </form>
+                    </li>
+                    <li class="divider-vertical"></li>
+                </ul>
+            </div>
         </div>
-    </tiles:putAttribute>
-</tiles:insertDefinition>
\ No newline at end of file
+    </nav>
+</header>
+<br><br>
+<div class="container navbar-spacer">
+    <h1><fmt:message key="page.newpassword.title"/></h1>
+    <c:choose>
+        <c:when test="${success}">
+            <div class="alert-message success">
+                <fmt:message key="page.newpassword.email.sent">
+                    <fmt:param>${email}</fmt:param>
+                </fmt:message>
+            </div>
+            <a href="<c:url value="/"/>"><fmt:message 
key="page.newpassword.email.sent.login"/></a>
+        </c:when>
+
+        <c:otherwise>
+
+            <form:form cssClass="form-horizontal well" commandName="user" 
action="newpassword" method="post">
+                <fieldset>
+                    <p><fmt:message key="form.all.fields.required"/></p>
+
+                    <p><form:errors cssClass="error"/></p>
+
+                    <div class="control-group">
+                        <label class="control-label" 
for="emailField"><fmt:message key="page.general.email"/></label>
+                        <div class="controls">
+                            <form:input id="emailField" path="email" 
required="required" autofocus="autofocus"/>
+                            <form:errors path="email" cssClass="error"/>
+                        </div>
+                    </div>
+                </fieldset>
+                <fieldset>
+                    <div class="control-group">
+                        <div class="controls">${captchaHtml}</div>
+                    </div>
+                </fieldset>
+                <fieldset>
+                    <fmt:message key="page.login.forgot.password.button" 
var="submitButtonText"/>
+                    <button type="submit" class="btn btn-primary" 
value="${submitButtonText}">${submitButtonText}</button>
+                </fieldset>
+            </form:form>
+        </c:otherwise>
+    </c:choose>
+</div>
\ No newline at end of file

Modified: 
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/retrieveusername.jsp
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/retrieveusername.jsp?rev=1358743&r1=1358742&r2=1358743&view=diff
==============================================================================
--- 
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/retrieveusername.jsp
 (original)
+++ 
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/retrieveusername.jsp
 Sun Jul  8 13:54:05 2012
@@ -1,101 +1,97 @@
 <%--
-  ~ 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.
+  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.
   --%>
 <%@ page language="java" trimDirectiveWhitespaces="true" %>
 <%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
 <fmt:setBundle basename="messages"/>
 
-<tiles:insertDefinition name="templates.base">
-    <tiles:putAttribute name="pageTitleKey" 
value="page.retrieveusername.title"/>
-    <tiles:importAttribute name="pageTitleKey" scope="request"/>
-
-    <tiles:putAttribute name="body">
-               <header>
-                   <nav>
-                       <div class="navbar navbar-fixed-top">
-                           <div class="container">
-                               <a href="/" class="brand">RAVE</a>
-                               <ul class="nav pull-right">
-                                   <li class="divider-vertical"></li>
-                                   <li>
-                                       <form class="form-inline" 
action="<c:url value="/app/newpassword"/>" method="get">
-                                           <fmt:message 
key="page.login.forgot.password.button" var="requestNewPasswordButtonText"/>
-                                           <button class="btn btn-info" 
id="requestNewPasswordButton" type="submit" 
value="${requestNewPasswordButtonText}">${requestNewPasswordButtonText}</button>
-                                       </form>
-                                   </li>
-                                   <li class="divider-vertical"></li>
-                                   <li>
-                                       <form class="form-inline" 
action="<c:url value="/app/newaccount.jsp"/>" method="get">
-                                           <fieldset>
-                                               <fmt:message 
key="page.login.createaccount.button" var="createAccountButtonText"/>
-                                               <button class="btn btn-info" 
id="createNewAccountButton" type="submit" 
value="${createAccountButtonText}">${createAccountButtonText}</button>
-                                           </fieldset>
-                                       </form>
-                                   </li>
-                                   <li class="divider-vertical"></li>
-                               </ul>
-                           </div>
-                       </div>
-                   </nav>
-               </header>
-               <br><br>
-        <div class="container navbar-spacer">
-            <h1><fmt:message key="page.retrieveusername.title"/></h1>
-            <c:choose>
-                <c:when test="${success}">
-
-                    <div class="alert-message success">
-                        <fmt:message key="page.newpassword.email.sent">
-                            <fmt:param>${email}</fmt:param>
-                        </fmt:message>
-                    </div>
-                    <a href="/"><fmt:message 
key="page.newpassword.email.sent.login"/></a>
-                </c:when>
+<tiles:putAttribute name="pageTitleKey" value="page.retrieveusername.title"/>
+<tiles:importAttribute name="pageTitleKey" scope="request"/>
 
-                <c:otherwise>
-                    <form:form cssClass="form-horizontal well" 
commandName="user" action="retrieveusername" method="post">
-                        <fieldset>
-                            <p><fmt:message 
key="form.all.fields.required"/></p>
-
-                            <p><form:errors cssClass="error"/></p>
-
-                            <div class="control-group">
-
-                                <label class="control-label" 
for="emailField"><fmt:message key="page.general.email"/></label>
-                                <div class="controls">
-                                    <form:input id="emailField" path="email" 
required="required" autofocus="autofocus"/>
-                                    <form:errors path="email" 
cssClass="error"/>
-                                </div>
-                            </div>
-                        </fieldset>
-                        <fieldset>
-                            <div class="control-group">
-                                <div class="controls">${captchaHtml}</div>
-                            </div>
-                        </fieldset>
-
-                        <fieldset>
-                            <fmt:message 
key="page.login.forgot.username.button" var="submitButtonText"/>
-                            <button class="btn btn-primary" type="submit" 
value="${submitButtonText}">${submitButtonText}</button>
-                        </fieldset>
-                    </form:form>
-                </c:otherwise>
-            </c:choose>
+<header>
+    <nav>
+        <div class="navbar navbar-fixed-top">
+            <div class="container">
+                <a href="<c:url value="/"/>" class="brand">RAVE</a>
+                <ul class="nav pull-right">
+                    <li class="divider-vertical"></li>
+                    <li>
+                        <form class="form-inline" action="<c:url 
value="/app/newpassword"/>" method="get">
+                            <fmt:message 
key="page.login.forgot.password.button" var="requestNewPasswordButtonText"/>
+                            <button class="btn btn-info" 
id="requestNewPasswordButton" type="submit" 
value="${requestNewPasswordButtonText}">${requestNewPasswordButtonText}</button>
+                        </form>
+                    </li>
+                    <li class="divider-vertical"></li>
+                    <li>
+                        <form class="form-inline" action="<c:url 
value="/app/newaccount.jsp"/>" method="get">
+                            <fieldset>
+                                <fmt:message 
key="page.login.createaccount.button" var="createAccountButtonText"/>
+                                <button class="btn btn-info" 
id="createNewAccountButton" type="submit" 
value="${createAccountButtonText}">${createAccountButtonText}</button>
+                            </fieldset>
+                        </form>
+                    </li>
+                    <li class="divider-vertical"></li>
+                </ul>
+            </div>
         </div>
-    </tiles:putAttribute>
-</tiles:insertDefinition>
\ No newline at end of file
+    </nav>
+</header>
+<br><br>
+<div class="container navbar-spacer">
+    <h1><fmt:message key="page.retrieveusername.title"/></h1>
+    <c:choose>
+        <c:when test="${success}">
+
+            <div class="alert-message success">
+                <fmt:message key="page.newpassword.email.sent">
+                    <fmt:param>${email}</fmt:param>
+                </fmt:message>
+            </div>
+            <a href="<c:url value="/"/>"><fmt:message 
key="page.newpassword.email.sent.login"/></a>
+        </c:when>
+
+        <c:otherwise>
+            <form:form cssClass="form-horizontal well" commandName="user" 
action="retrieveusername" method="post">
+                <fieldset>
+                    <p><fmt:message key="form.all.fields.required"/></p>
+
+                    <p><form:errors cssClass="error"/></p>
+
+                    <div class="control-group">
+
+                        <label class="control-label" 
for="emailField"><fmt:message key="page.general.email"/></label>
+                        <div class="controls">
+                            <form:input id="emailField" path="email" 
required="required" autofocus="autofocus"/>
+                            <form:errors path="email" cssClass="error"/>
+                        </div>
+                    </div>
+                </fieldset>
+                <fieldset>
+                    <div class="control-group">
+                        <div class="controls">${captchaHtml}</div>
+                    </div>
+                </fieldset>
+
+                <fieldset>
+                    <fmt:message key="page.login.forgot.username.button" 
var="submitButtonText"/>
+                    <button class="btn btn-primary" type="submit" 
value="${submitButtonText}">${submitButtonText}</button>
+                </fieldset>
+            </form:form>
+        </c:otherwise>
+    </c:choose>
+</div>
\ No newline at end of file


Reply via email to