Example usage for org.springframework.web.servlet.support RequestContext RequestContext

List of usage examples for org.springframework.web.servlet.support RequestContext RequestContext

Introduction

In this page you can find the example usage for org.springframework.web.servlet.support RequestContext RequestContext.

Prototype

public RequestContext(HttpServletRequest request, @Nullable HttpServletResponse response,
        @Nullable ServletContext servletContext, @Nullable Map<String, Object> model) 

Source Link

Document

Create a new RequestContext for the given request, using the given model attributes for Errors retrieval.

Usage

From source file:sk.openhouse.web.VelocityTilesView.java

@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    /* add spring macro helpers */
    if (this.exposeSpringMacroHelpers) {
        if (model.containsKey(SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE)) {
            throw new ServletException(
                    "Cannot expose bind macro helper '" + SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE
                            + "' because of an existing model object of the same name");
        }// ww w .  j  a  va  2 s.  c  o  m
        // Expose RequestContext instance for Spring macros.
        model.put(SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE,
                new RequestContext(request, response, getServletContext(), model));
    }

    super.renderMergedOutputModel(model, request, response);
}

From source file:de.eiswind.magnolia.thymeleaf.renderer.ThymeleafRenderer.java

/**
 * {@inheritDoc}/*from   w w w  .j ava 2s . co  m*/
 */
@Override
protected void onRender(Node content, RenderableDefinition definition, RenderingContext renderingCtx,
        Map<String, Object> ctx, String templateScript) throws RenderException {

    Map<String, Object> vars = new HashMap<>(ctx);
    vars.put("content", JspTemplatingFunction.asContentMap(content));
    vars.put("cmsfn", Components.getComponent(TemplatingFunctions.class));

    final HttpServletRequest request = MgnlContext.getWebContext().getRequest();
    final HttpServletResponse response = MgnlContext.getWebContext().getResponse();

    // setup spring request context in spring web context
    final RequestContext requestContext = new RequestContext(request, response, servletContext, vars);
    vars.put(SpringContextVariableNames.SPRING_REQUEST_CONTEXT, requestContext);

    // copy all spring model attributes into the spring web context as variables
    vars.putAll(RenderContext.get().getModel());

    final IWebContext context = new SpringWebContext(request, response, servletContext,
            MgnlContext.getWebContext().getRequest().getLocale(), vars, getApplicationContext());

    try (AppendableWriter out = renderingCtx.getAppendable()) {
        // need to ensure engine initialised before getting configuration
        if (!engine.isInitialized()) {
            engine.initialize();
        }
        // allow template fragment syntax to be used e.g. template.html :: area
        final StandardFragment fragment = StandardFragmentProcessor.computeStandardFragmentSpec(
                engine.getConfiguration(), new ProcessingContext(context), templateScript, null,
                "th:" + StandardFragmentAttrProcessor.ATTR_NAME);

        // and pass the fragment name and spec then onto the engine
        engine.process(fragment.getTemplateName(), context, fragment.getFragmentSpec(), out);
    } catch (IOException x) {
        throw new RenderException(x);
    }

}

From source file:pl.chilldev.facelets.taglib.spring.web.form.ErrorsTag.java

/**
 * Attempts to retrive current request context.
 *
 * @param faceletContext Current view context.
 * @return Request context.//from   ww  w . ja  v a  2 s  .  c  om
 * @since 0.0.1
 */
protected RequestContext getRequestContext(FaceletContext faceletContext) {
    // first check if there is a context stored in view
    Object context = faceletContext.getAttribute(RequestContextAwareTag.REQUEST_CONTEXT_PAGE_ATTRIBUTE);
    if (context instanceof RequestContext) {
        return (RequestContext) context;
    }

    // if not then create completely new one
    RequestContext requestContext = null;
    ExternalContext externalContext = faceletContext.getFacesContext().getExternalContext();

    Object request = externalContext.getRequest();
    Object response = externalContext.getResponse();
    context = externalContext.getContext();

    // check all types
    if (request instanceof HttpServletRequest && response instanceof HttpServletResponse
            && context instanceof ServletContext) {
        requestContext = new RequestContext((HttpServletRequest) request, (HttpServletResponse) response,
                (ServletContext) context, null);
        faceletContext.setAttribute(RequestContextAwareTag.REQUEST_CONTEXT_PAGE_ATTRIBUTE, requestContext);
    }
    return requestContext;
}

From source file:architecture.ee.web.struts2.view.freemarker.ExtendedFreemarkerManager.java

protected void exposeSpringMacroHelpers(Map<String, Object> model, HttpServletRequest request,
        HttpServletResponse response) {/*  ww w .  jav  a  2s. c  om*/
    model.put(AbstractTemplateView.SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE,
            new RequestContext(request, response, request.getSession().getServletContext(), model));
}