/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ <% function testRequestAttribute(/* String */ name) { var tag = (request.getAttribute(name) != null) ? "" : "no"; out.println("

-" + tag + "-" + name + "-

"); } %> <%-- used by IncludeTest --%>

ESP template

<%= currentNode.text %>

<% // Servlet API request include attributes testRequestAttribute( "javax.servlet.include.request_uri" ); testRequestAttribute( "javax.servlet.include.context_path" ); testRequestAttribute( "javax.servlet.include.servlet_path" ); testRequestAttribute( "javax.servlet.include.path_info" ); testRequestAttribute( "javax.servlet.include.query_string" ); testRequestAttribute( "javax.servlet.include.request_uri" ); testRequestAttribute( "javax.servlet.include.request_uri" ); // Sling API request include attributes testRequestAttribute( "org.apache.sling.api.include.servlet" ); testRequestAttribute( "org.apache.sling.api.include.resource" ); testRequestAttribute( "org.apache.sling.api.include.request_path_info" ); %>

Test 1

<% if(currentNode.pathToInclude) { %>

pathToInclude = <%= currentNode.pathToInclude %>

Including <%= currentNode.pathToInclude %>

<% sling.include(currentNode.pathToInclude); } %>

Test 2

<% if(currentNode.testInfiniteLoop) { %>

testInfiniteLoop = <%= currentNode.testInfiniteLoop %>

<% // try to include the item itself, to cause an infinite loop sling.include(resource.getPath()); } %>

Test 3

<% if(currentNode.pathToInclude && currentNode.forceResourceType) { %>

pathToInclude = <%= currentNode.pathToInclude %>

Including <%= currentNode.pathToInclude %>

<% sling.include(currentNode.pathToInclude, currentNode.forceResourceType); } %>