@Override public Definition getDefinition(String definitionName, Request request) { return container.getDefinition(definitionName, request); }
/** * Checks if a definition exists with that given name * * @param definitionName name of the definition to use * @param tilesRequest current tiles context * @return true if definition exists, otherwise false */ protected boolean hasDefinition(String definitionName, Request tilesRequest) { TilesContainer container = (TilesContainer)tilesRequest.getContext("request").get("org.apache.tiles.servlet.context.ServletTilesRequestContext.CURRENT_CONTAINER_KEY"); try { return container.getDefinition(definitionName, tilesRequest) != null; } catch (DefinitionsFactoryException e) { LOG.error("Could not determine definition with name {}", definitionName); } catch (NullPointerException e) { LOG.error("Could not access definitions factory."); } return false; } }
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); } }
Definition parent = getCustomDefinition(parentDefinitionName, request); if (parent == null) { parent = container.getDefinition(parentDefinitionName, request); recurse = false;