diff --git a/spring-js/src/main/java/org/springframework/js/ajax/AjaxHandler.java b/spring-js/src/main/java/org/springframework/js/ajax/AjaxHandler.java
index 818c6541..f6d6a5e6 100644
--- a/spring-js/src/main/java/org/springframework/js/ajax/AjaxHandler.java
+++ b/spring-js/src/main/java/org/springframework/js/ajax/AjaxHandler.java
@@ -17,7 +17,6 @@ package org.springframework.js.ajax;
import java.io.IOException;
-import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -32,16 +31,18 @@ public interface AjaxHandler {
/**
* Is the current request an Ajax request?
* @param request the current request
+ * @param response the current response
*/
- public boolean isAjaxRequest(ServletContext context, HttpServletRequest request, HttpServletResponse response);
+ public boolean isAjaxRequest(HttpServletRequest request, HttpServletResponse response);
/**
* Send a redirect request to the Ajax client. This should cause the client-side agent to send a new request to the
* specified target url.
- * @param response the response object
+ * @param request the current request
+ * @param response the current response
* @param targetUrl the target url to redirect to
* @param popup wheter the redirect should be sent from a new popup dialog window
*/
- public void sendAjaxRedirect(ServletContext context, HttpServletRequest request, HttpServletResponse response,
- String targetUrl, boolean popup) throws IOException;
+ public void sendAjaxRedirect(String targetUrl, HttpServletRequest request, HttpServletResponse response,
+ boolean popup) throws IOException;
}
diff --git a/spring-js/src/main/java/org/springframework/js/ajax/AjaxUrlBasedViewResolver.java b/spring-js/src/main/java/org/springframework/js/ajax/AjaxUrlBasedViewResolver.java
index ae5b1722..986ce57b 100644
--- a/spring-js/src/main/java/org/springframework/js/ajax/AjaxUrlBasedViewResolver.java
+++ b/spring-js/src/main/java/org/springframework/js/ajax/AjaxUrlBasedViewResolver.java
@@ -18,12 +18,10 @@ package org.springframework.js.ajax;
import java.io.IOException;
import java.util.Locale;
-import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.View;
-import org.springframework.web.servlet.support.RequestContextUtils;
import org.springframework.web.servlet.view.RedirectView;
import org.springframework.web.servlet.view.UrlBasedViewResolver;
@@ -64,9 +62,8 @@ public class AjaxUrlBasedViewResolver extends UrlBasedViewResolver {
protected void sendRedirect(HttpServletRequest request, HttpServletResponse response, String targetUrl,
boolean http10Compatible) throws IOException {
- ServletContext context = RequestContextUtils.getWebApplicationContext(request).getServletContext();
- if (ajaxHandler.isAjaxRequest(context, request, response)) {
- ajaxHandler.sendAjaxRedirect(context, request, response, targetUrl, false);
+ if (ajaxHandler.isAjaxRequest(request, response)) {
+ ajaxHandler.sendAjaxRedirect(targetUrl, request, response, false);
} else {
super.sendRedirect(request, response, targetUrl, http10Compatible);
}
diff --git a/spring-js/src/main/java/org/springframework/js/ajax/SpringJavascriptAjaxHandler.java b/spring-js/src/main/java/org/springframework/js/ajax/SpringJavascriptAjaxHandler.java
index 51df97a1..b7f84d99 100644
--- a/spring-js/src/main/java/org/springframework/js/ajax/SpringJavascriptAjaxHandler.java
+++ b/spring-js/src/main/java/org/springframework/js/ajax/SpringJavascriptAjaxHandler.java
@@ -17,7 +17,6 @@ package org.springframework.js.ajax;
import java.io.IOException;
-import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -51,7 +50,7 @@ public class SpringJavascriptAjaxHandler implements AjaxHandler {
*/
public static final String AJAX_SOURCE_PARAM = "ajaxSource";
- public boolean isAjaxRequest(ServletContext context, HttpServletRequest request, HttpServletResponse response) {
+ public boolean isAjaxRequest(HttpServletRequest request, HttpServletResponse response) {
String acceptHeader = request.getHeader("Accept");
String ajaxParam = request.getParameter(AJAX_SOURCE_PARAM);
if (AJAX_ACCEPT_CONTENT_TYPE.equals(acceptHeader) || StringUtils.hasText(ajaxParam)) {
@@ -61,8 +60,8 @@ public class SpringJavascriptAjaxHandler implements AjaxHandler {
}
}
- public void sendAjaxRedirect(ServletContext context, HttpServletRequest request, HttpServletResponse response,
- String targetUrl, boolean popup) throws IOException {
+ public void sendAjaxRedirect(String targetUrl, HttpServletRequest request, HttpServletResponse response,
+ boolean popup) throws IOException {
if (popup) {
response.setHeader(POPUP_VIEW_HEADER, "true");
}
diff --git a/spring-js/src/main/java/org/springframework/js/ajax/tiles2/AjaxTilesView.java b/spring-js/src/main/java/org/springframework/js/ajax/tiles2/AjaxTilesView.java
index 567b74e0..a8ed9da9 100644
--- a/spring-js/src/main/java/org/springframework/js/ajax/tiles2/AjaxTilesView.java
+++ b/spring-js/src/main/java/org/springframework/js/ajax/tiles2/AjaxTilesView.java
@@ -54,11 +54,19 @@ public class AjaxTilesView extends TilesView {
private AjaxHandler ajaxHandler = new SpringJavascriptAjaxHandler();
+ public AjaxHandler getAjaxHandler() {
+ return ajaxHandler;
+ }
+
+ public void setAjaxHandler(AjaxHandler ajaxHandler) {
+ this.ajaxHandler = ajaxHandler;
+ }
+
protected void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response)
throws Exception {
ServletContext servletContext = getServletContext();
- if (ajaxHandler.isAjaxRequest(servletContext, request, response)) {
+ if (ajaxHandler.isAjaxRequest(request, response)) {
BasicTilesContainer container = (BasicTilesContainer) TilesAccess.getContainer(servletContext);
if (container == null) {
throw new ServletException("Tiles container is not initialized. "
@@ -106,13 +114,4 @@ public class AjaxTilesView extends TilesView {
}
}
}
-
- public AjaxHandler getAjaxHandler() {
- return ajaxHandler;
- }
-
- public void setAjaxHandler(AjaxHandler ajaxHandler) {
- this.ajaxHandler = ajaxHandler;
- }
-
}
diff --git a/spring-webflow/.classpath b/spring-webflow/.classpath
index fd340fd0..0e4a6275 100644
--- a/spring-webflow/.classpath
+++ b/spring-webflow/.classpath
@@ -44,5 +44,7 @@
+
+
diff --git a/spring-webflow/ivy.xml b/spring-webflow/ivy.xml
index 57439d66..379613f5 100644
--- a/spring-webflow/ivy.xml
+++ b/spring-webflow/ivy.xml
@@ -25,6 +25,7 @@
+
@@ -45,6 +46,7 @@
+
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java
index 1ea2e790..09ea5896 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java
@@ -182,7 +182,7 @@ public class FlowHandlerAdapter extends WebContentGenerator implements HandlerAd
protected ServletExternalContext createServletExternalContext(HttpServletRequest request,
HttpServletResponse response) {
ServletExternalContext context = new MvcExternalContext(getServletContext(), request, response, flowUrlHandler);
- context.setAjaxRequest(ajaxHandler.isAjaxRequest(getServletContext(), request, response));
+ context.setAjaxRequest(ajaxHandler.isAjaxRequest(request, response));
return context;
}
@@ -305,7 +305,7 @@ public class FlowHandlerAdapter extends WebContentGenerator implements HandlerAd
logger.debug("Sending flow execution redirect to '" + url + "'");
}
if (context.isAjaxRequest()) {
- ajaxHandler.sendAjaxRedirect(getServletContext(), request, response, url, context.getRedirectInPopup());
+ ajaxHandler.sendAjaxRedirect(url, request, response, context.getRedirectInPopup());
} else {
sendRedirect(url, request, response);
}
@@ -366,8 +366,8 @@ public class FlowHandlerAdapter extends WebContentGenerator implements HandlerAd
}
private void sendRedirect(String url, HttpServletRequest request, HttpServletResponse response) throws IOException {
- if (ajaxHandler.isAjaxRequest(getServletContext(), request, response)) {
- ajaxHandler.sendAjaxRedirect(getServletContext(), request, response, url, false);
+ if (ajaxHandler.isAjaxRequest(request, response)) {
+ ajaxHandler.sendAjaxRedirect(url, request, response, false);
} else {
response.sendRedirect(response.encodeRedirectURL(url));
}