List of usage examples for org.springframework.web.servlet.support JstlUtils exposeLocalizationContext
public static void exposeLocalizationContext(RequestContext requestContext)
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); }