mvc external context
This commit is contained in:
@@ -286,6 +286,36 @@ public class ServletExternalContext implements ExternalContext {
|
||||
return redirectInPopup;
|
||||
}
|
||||
|
||||
// hooks for subclasses
|
||||
|
||||
/**
|
||||
* Returns the servlet context.
|
||||
*/
|
||||
protected ServletContext getContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the underlying HttpServletRequest.
|
||||
*/
|
||||
protected HttpServletRequest getRequest() {
|
||||
return request;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the underlying HttpServletResponse.
|
||||
*/
|
||||
protected HttpServletResponse getResponse() {
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the configured flow url handler.
|
||||
*/
|
||||
protected FlowUrlHandler getFlowUrlHandler() {
|
||||
return flowUrlHandler;
|
||||
}
|
||||
|
||||
// private helpers
|
||||
|
||||
private void init(ServletContext context, HttpServletRequest request, HttpServletResponse response,
|
||||
|
||||
@@ -173,7 +173,7 @@ public class FlowController extends AbstractController {
|
||||
|
||||
protected ServletExternalContext createServletExternalContext(HttpServletRequest request,
|
||||
HttpServletResponse response) {
|
||||
ServletExternalContext context = new ServletExternalContext(getServletContext(), request, response, urlHandler);
|
||||
ServletExternalContext context = new MvcExternalContext(getServletContext(), request, response, urlHandler);
|
||||
context.setAjaxRequest(ajaxHandler.isAjaxRequest(getServletContext(), request, response));
|
||||
return context;
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ public class FlowHandlerAdapter extends WebApplicationObjectSupport implements H
|
||||
|
||||
protected ServletExternalContext createServletExternalContext(HttpServletRequest request,
|
||||
HttpServletResponse response) {
|
||||
ServletExternalContext context = new ServletExternalContext(getServletContext(), request, response, urlHandler);
|
||||
ServletExternalContext context = new MvcExternalContext(getServletContext(), request, response, urlHandler);
|
||||
context.setAjaxRequest(ajaxHandler.isAjaxRequest(getServletContext(), request, response));
|
||||
return context;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package org.springframework.webflow.mvc.servlet;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.web.servlet.support.RequestContextUtils;
|
||||
import org.springframework.webflow.context.servlet.FlowUrlHandler;
|
||||
import org.springframework.webflow.context.servlet.ServletExternalContext;
|
||||
|
||||
/**
|
||||
* Spring MVC external context implementation. Is a {@link ServletExternalContext}, but overrides operations to plug in
|
||||
* specific functionality available in a Spring MVC Environment.
|
||||
*
|
||||
* @author Keith Donald
|
||||
*/
|
||||
public class MvcExternalContext extends ServletExternalContext {
|
||||
|
||||
/**
|
||||
* Create a new external context wrapping given servlet HTTP request and response and given servlet context.
|
||||
* @param context the servlet context
|
||||
* @param request the http servlet request
|
||||
* @param response the http servlet response
|
||||
* @param flowUrlHandler the flow url handler
|
||||
*/
|
||||
public MvcExternalContext(ServletContext context, HttpServletRequest request, HttpServletResponse response,
|
||||
FlowUrlHandler flowUrlHandler) {
|
||||
super(context, request, response, flowUrlHandler);
|
||||
}
|
||||
|
||||
public Locale getLocale() {
|
||||
return RequestContextUtils.getLocale(getRequest());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user