/** * Renders an attribute for real. * * @param attr The attribute to render. * @throws IOException If something goes wrong during the reading of * definition files. */ protected void render(Attribute attr) throws IOException { container.render(attr, pageContext); }
@Override public AttributeContext getAttributeContext(Request request) { return container.getAttributeContext(request); }
private void renderTilesView(ExternalContext externalContext, Object[] requestObjects, TilesContainer container, UIViewRoot viewToRender, String viewId, String tilesId) { handleCharacterEncoding(viewId, externalContext, viewToRender); container.startContext(requestObjects); try { container.render(tilesId,requestObjects); } catch (TilesException e) { throw new FacesException(e); } finally { container.endContext(requestObjects); } handleCharacterEncodingPostDispatch(externalContext); }
/** {@inheritDoc} */ protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { TilesContainer container = ServletUtil.getContainer( getServletContext(), containerKey); mutator.mutate(container.getAttributeContext(req, res), req); String definition = getDefinitionName(req); if (log.isDebugEnabled()) { log.info("Dispatching to tile '" + definition + "'"); } container.render(definition, req, res); }
try { AttributeContext attributeContext = container .getAttributeContext(request); Attribute templateAttribute = Attribute.createTemplateAttribute(template, templateExpression, templateType, role); attributeContext.setPreparer(preparer); attributeContext.setTemplateAttribute(templateAttribute); container.render(definitionName, request); if (flush) { request.getWriter().flush(); container.endContext(request);
return; container.render(attribute, request); } catch (IOException e) { if (!ignore) { container.endContext(request);
/** {@inheritDoc} */ @Override public void write(Object value, Attribute attribute, TilesRequestContext request) throws IOException { if (value instanceof String) { String valueString = (String) value; Object[] requestItems = request.getRequestObjects(); if (container.isValidDefinition(valueString, requestItems)) { container.render(valueString, requestItems); } else if (valueString.startsWith("/")) { request.dispatch(valueString); } else { request.getWriter().write(valueString); } } else { throw new RendererException( "Cannot render an untyped object attribute"); } } }
@Override public void doExecute(String location, ActionInvocation invocation) throws Exception { ServletContext context = ServletActionContext.getServletContext(); HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); ApplicationContext applicationContext = ServletUtil.getApplicationContext(context); ServletRequest servletRequest = new ServletRequest(applicationContext, request, response); TilesContainer container = initTilesContainer(applicationContext, servletRequest); container.startContext(servletRequest); container.render(location, servletRequest); }
try { AttributeContext attributeContext = container .getAttributeContext(request); Attribute templateAttribute = Attribute.createTemplateAttribute(template, templateExpression, templateType, role); attributeContext.setPreparer(preparer); attributeContext.setTemplateAttribute(templateAttribute); container.renderContext(request); if (flush) { request.getWriter().flush(); container.endContext(request);
protected void fallbackModelRenderer( Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception { Request tilesRequest = super.createTilesRequest(request, response); ApplicationContext applicationContext = tilesRequest.getApplicationContext(); TilesContainer container = TilesAccess.getContainer(applicationContext); 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, getServletContext())); Definition definition = container.getDefinition(getUrl(), tilesRequest); container.render(definition, tilesRequest); } }
/** * Starts the context when entering the tag. * * @param context The page context to use. */ protected void startContext(PageContext context) { if (container != null) { attributeContext = container.startContext(pageContext); } }
Attribute value, Request request) { if (preparer != null) { container.prepare(preparer, request); container.startContext(request); return attribute;
attributeContext = container.getAttributeContext(pageContext); scope = getScopeId(); attributeValue = container.evaluate(attribute, pageContext); } catch (TilesException e) { if (!ignore) {
return; Object value = container.evaluate(attribute, request); if(value != null) { writer.write(value.toString()); container.endContext(request);
/** * Ends the context when exiting the tag. * * @param context The page context to use. */ protected void endContext(PageContext context) { if (attributeContext != null && container != null) { container.endContext(pageContext); } } }
/** {@inheritDoc} */ public boolean isRenderable(String path, Request request) { return path != null && container.isValidDefinition(path, request); } }
@Override public void renderContext(Request request) { container.renderContext(request); }
/** {@inheritDoc} */ @Override protected void doGet(HttpServletRequest req, HttpServletResponse res) { ApplicationContext applicationContext = org.apache.tiles.request.servlet.ServletUtil .getApplicationContext(getServletContext()); Request request = new ServletRequest(applicationContext, req, res); TilesContainer container = TilesAccess.getContainer(applicationContext, containerKey); mutator.mutate(container.getAttributeContext(request), req); String definition = getDefinitionName(req); if (log.isDebugEnabled()) { log.info("Dispatching to tile '" + definition + "'"); } container.render(definition, request); }
try { LOG.debug("checking if tiles definition exists '{}'", location); definitionValid = container.isValidDefinition(location, request); } catch (TilesException e) { LOG.warn("got TilesException while checking if definiton exists, ignoring it", e); container.render(location, request);
@Override public AttributeContext startContext(Request request) { return container.startContext(request); } }