Example usage for org.springframework.web.servlet.support JstlUtils exposeLocalizationContext

List of usage examples for org.springframework.web.servlet.support JstlUtils exposeLocalizationContext

Introduction

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

Prototype

public static void exposeLocalizationContext(RequestContext requestContext) 

Source Link

Document

Exposes JSTL-specific request attributes specifying locale and resource bundle for JSTL's formatting and message tags, using Spring's locale and MessageSource.

Usage

From source file:com.spt.evt.view.PartialRenderingTilesView.java

protected void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response)
        throws Exception {

    ServletContext servletContext = getServletContext();
    if ("nolayout".equals(request.getParameter("htmlFormat"))) {

        BasicTilesContainer container = (BasicTilesContainer) ServletUtil.getCurrentContainer(request,
                servletContext);//from  w  ww  .ja va 2s. co  m
        if (container == null) {
            throw new ServletException("Tiles container is not initialized. "
                    + "Have you added a TilesConfigurer to your web application context?");
        }

        exposeModelAsRequestAttributes(model, request);
        JstlUtils.exposeLocalizationContext(new RequestContext(request, servletContext));

        TilesRequestContext tilesRequestContext = tilesRequestContextFactory
                .createRequestContext(container.getApplicationContext(), new Object[] { request, response });
        Definition compositeDefinition = container.getDefinitionsFactory().getDefinition(getUrl(),
                tilesRequestContext);

        Iterator<String> iterator = compositeDefinition.getAttributeNames();
        while (iterator.hasNext()) {
            String attributeName = (String) iterator.next();
            Attribute attribute = compositeDefinition.getAttribute(attributeName);
            if (attribute.getValue() == null || !(attribute.getValue() instanceof String)) {
                continue;
            }
            container.startContext(request, response).inheritCascadedAttributes(compositeDefinition);
            container.render(attribute, request, response);
            container.endContext(request, response);
        }
    } else {
        super.renderMergedOutputModel(model, request, response);
    }
}

From source file:com.parakhcomputer.web.servlet.view.tiles2.DynamicTilesViewProcessor.java

/**
 * Renders output using Tiles./*  w  ww . j av  a  2  s .  c  om*/
 */
protected void renderMergedOutputModel(String beanName, String url, ServletContext servletContext,
        HttpServletRequest request, HttpServletResponse response, TilesContainer container) throws Exception {
    JstlUtils.exposeLocalizationContext(new RequestContext(request, servletContext));

    if (!response.isCommitted()) {
        // Tiles is going to use a forward, but some web containers (e.g.
        // OC4J 10.1.3)
        // do not properly expose the Servlet 2.4 forward request
        // attributes... However,
        // must not do this on Servlet 2.5 or above, mainly for GlassFish
        // compatibility.
        if (servletContext.getMajorVersion() == 2 && servletContext.getMinorVersion() < 5) {
            WebUtils.exposeForwardRequestAttributes(request);
        }
    }

    String definitionName = startDynamicDefinition(beanName, url, request, response, container);

    container.render(definitionName, request, response);

    endDynamicDefinition(definitionName, beanName, request, response, container);
}

From source file:net.vksn.ecm.spring.tiles3.TilesView.java

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

    exposeModelAsRequestAttributes(model, request);

    if (this.exposeJstlAttributes) {
        ServletContext servletContext = getServletContext();
        JstlUtils.exposeLocalizationContext(new RequestContext(request, servletContext));
    }/*  w w  w .j  a v  a 2 s .c o m*/

    if (!response.isCommitted()) {
        // Tiles is going to use a forward, but some web containers (e.g.
        // OC4J 10.1.3)
        // do not properly expose the Servlet 2.4 forward request
        // attributes... However,
        // must not do this on Servlet 2.5 or above, mainly for GlassFish
        // compatibility.
        if (this.exposeForwardAttributes) {
            try {
                WebUtils.exposeForwardRequestAttributes(request);
            } catch (Exception ex) {
                // Servlet container rejected to set internal attributes,
                // e.g. on TriFork.
                this.exposeForwardAttributes = false;
            }
        }
    }

    Request tilesRequest = createTilesRequest(request, response);
    this.renderer.render(getUrl(), tilesRequest);
}