Merge pull request #228 from apache/fix/tiles

Cleans up docs about Tiles
diff --git a/source/plugins/tiles/index.md b/source/plugins/tiles/index.md
index 4c9ce28..3ecc7da 100644
--- a/source/plugins/tiles/index.md
+++ b/source/plugins/tiles/index.md
@@ -12,8 +12,8 @@
 * Will be replaced with the ToC, excluding a header
 {:toc}
 
-Tiles is a templating framework designed to easily allow the creation of web application pages with a consistent look and feel. It can 
-be used for both page decorating and componentization.
+Tiles is a templating framework designed to easily allow the creation of web application pages with a consistent 
+look and feel. It can be used for both page decorating and componentization.
 
 The Tiles plugin allows actions to return Tiles pages.
 
@@ -26,100 +26,89 @@
 
 The following steps must be taken in order to enable tiles support within your Struts2 application:
 
-1. Include the struts-tiles-plugin as a dependency in your web application. If you are using maven2, the dependency configuration will 
-  be similar to:
+1. Include the struts-tiles-plugin as a dependency in your web application. If you are using maven2, the dependency 
+   configuration will be similar to:
 
+   ```xml
+   <dependency>
+     <groupId>org.apache.struts</groupId>
+     <artifactId>struts2-tiles-plugin</artifactId>
+     <version>${version.tiles}</version>
+   </dependency>
+   ```
 
-```xml
-<dependency>
-  <groupId>org.apache.struts</groupId>
-  <artifactId>struts2-tiles-plugin</artifactId>
-  <version>${version.tiles}</version>
-</dependency>
+2. Register the Tiles listener. This listener will typically either be the standard tiles listener `org.apache.tiles.listener.TilesListener`
+   or the Struts2 replacement `org.apache.struts2.tiles.TilesListener`. The latter provides tighter integration with 
+   Struts features such as freemarker integration.
 
-```
+   ```xml
+   <listener>
+     <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
+   </listener>
+   ```
 
-2. Register the tiles listener. This listener will typically either be the standard tiles listener `org.apache.tiles.listener.TilesListener`
-  or the Struts2 replacement `org.apache.struts2.tiles.TilesListener`. The latter provides tighter integration with Struts features such 
-  as freemarker integration.
+3. All package definitions, which require tiles support, must either extend the `tiles-default` package or must register 
+   the **Tiles Result** type definition.
 
-
-```xml
-<listener>
-  <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
-</listener>
-
-```
-
-3. All package definitions which require tiles support must either extend the `tiles-default` package or must register 
-  the [Tiles Result] type definition.
-
-
-```xml
-<result-types>
-  <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"/>
-</result-types>
-
-```
+   ```xml
+   <result-types>
+     <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"/>
+   </result-types>
+   ```
 
 4. Configure your actions to utilize a tiles definition:
 
-
-```xml
-<action name="sample" class="org.apache.struts2.tiles.example.SampleAction" >
-  <result name="success" type="tiles">tilesWorks</result>
-</action>
-
-```
+   ```xml
+   <action name="sample" class="org.apache.struts2.tiles.example.SampleAction" >
+     <result name="success" type="tiles">tilesWorks</result>
+   </action>
+   ```
 
 5. Instead of xml configuration you can use annotations
 
+   ```java
+   @Result(name = "success", type="tiles")
+   @TilesDefinition(extend = "fooLayout", putAttributes = {
+       @TilesPutAttribute(name = "header", value = "/WEB-INF/tiles/header.jsp"),
+       @TilesPutAttribute(name = "body", value = "/WEB-INF/tiles/body.ftl")
+   })
+   public class FooAction extends ActionSupport {
+   ```
 
-```java
-@Result(name = "success", type="tiles")
-@TilesDefinition(extend = "fooLayout", putAttributes = {
-    @TilesPutAttribute(name = "header", value = "/WEB-INF/tiles/header.jsp"),
-    @TilesPutAttribute(name = "body", value = "/WEB-INF/tiles/body.ftl")
-})
-public class FooAction extends ActionSupport {
-```
+6. You have to define Tiles Definitions in a `tiles.xml` file. That can be placed in `resources` or in `WEB-INF`.
 
-6. You have to define Tiles Definitons in a `tiles.xml` file. That can be placed in `resources` or in `WEB-INF`.
+   ```xml
+   <!DOCTYPE tiles-definitions PUBLIC
+           "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
+           "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
+   <tiles-definitions>
+   
+       <definition name="fooLayout" template="/WEB-INF/tiles/layout.jsp">
+           <put-attribute name="title" value="Tiles Sample"/>
+           <put-attribute name="header" value=".header"/>
+           <put-attribute name="body" value=".bodyp"/>
+       </definition>
+   
+       <definition name="tilesWorks" extends="fooLayout">
+           <put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/>
+           <put-attribute name="body" value="/WEB-INF/tiles/body.jsp"/>
+       </definition>
+   
+   </tiles-definitions>
+   ```
 
+As from Struts 2.3.28, the plugin automatically loads all Tiles definitions matching the following pattern `tiles*.xml` - 
+you don't have to specify them via `org.apache.tiles.definition.DefinitionsFactory.DEFINITIONS_CONFIG` in `web.xml`, 
+but you can use this option if your application is going to work in restricted servlet environment e.g., Google AppEngine. 
+In such case, definitions will be read from the provided init-param.
 
-```xml
-<!DOCTYPE tiles-definitions PUBLIC
-        "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
-        "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
-
-<tiles-definitions>
-
-    <definition name="fooLayout" template="/WEB-INF/tiles/layout.jsp">
-        <put-attribute name="title" value="Tiles Sample"/>
-        <put-attribute name="header" value=".header"/>
-        <put-attribute name="body" value=".bodyp"/>
-    </definition>
-
-    <definition name="tilesWorks" extends="fooLayout">
-        <put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/>
-        <put-attribute name="body" value="/WEB-INF/tiles/body.jsp"/>
-    </definition>
-
-</tiles-definitions>
-```
-
-As from Struts 2.3.28, the plugin automatically loads all Tiles definitions matching the following pattern `tiles*.xml` - you don't have 
-to specify them via `org.apache.tiles.definition.DefinitionsFactory.DEFINITIONS_CONFIG` in `web.xml`, but you can use this option if your 
-application is going to work in restricted servlet environment e.g. Google AppEngine. In such case, definitions will be read from 
-the provided init-param.
-
-> Note: When using a Tomcat WAR versoning mechanism which uses `##` you must specify all the tiles definition directly using
-> the `init-param`, in other case it won't be loaded. It's due to limitation of `URL` class. 
+> Note: When using a Tomcat WAR versoning mechanism which uses `##` you must specify all the tiles definition directly
+> using the `init-param`, in other case it won't be loaded. It's due to limitation of `URL` class. 
 
 ### Accessing Struts attributes
 
-As from Struts version 2.5.3 it's possible accessing defined values on a `ValueStack` using `S2` prefix when defining an expression 
-in tiles definition, e.g.:
+As from Struts version 2.5.3 it's possible accessing defined values on a `ValueStack` using `S2` prefix when defining 
+an expression in tiles definition, e.g.:
 
 ```xml
 <definition name="home" extends="logged-in">
@@ -128,13 +117,12 @@
 </definition>
 ```
 
-In such case Tiles will delegate evaluation of the expression to Struts and `ValueStack` will be examined to evaluate the expression.
+In such case Tiles will delegate evaluation of the expression to Struts and `ValueStack` will be examined.
 
 ### I18N
 
-Instead of defining new tiles definitions per supported language (i.e.: `tiles.xml`, `tiles_de.xml`, `tiles_pl.xml`) you can use `I18N` 
-prefix to evaluate provided expression as a key in Struts resource bundles. 
-
+Instead of defining new tiles definitions per supported language (i.e.: `tiles.xml`, `tiles_de.xml`, `tiles_pl.xml`) 
+you can use `I18N` prefix to evaluate provided expression as a key in Struts resource bundles.
 
 ```xml
 <definition name="home" extends="logged-in">
@@ -158,18 +146,18 @@
 <body>
     <tiles:insertAttribute name="header"/>
     <tiles:insertAttribute name="body"/>
-	<p>Notice that this is a layout made in JSP</p>
+    <p>Notice that this is a layout made in JSP</p>
 </body>
 </html>
-
 ```
 
-Please check [tiles](https://github.com/apache/struts-examples/tree/master/tiles) example in [struts-examples](https://github.com/apache/struts-examples/tree/master/tiles) project.
+Please check [tiles](https://github.com/apache/struts-examples/tree/master/tiles) example in [struts-examples](https://github.com/apache/struts-examples/tree/master/tiles) project.
 
 ## Settings
 
-This plugin does inherits settings from [Tiles configuration](https://tiles.apache.org/framework/config-reference.html).
+This plugin does inherit settings from [Tiles configuration](https://tiles.apache.org/framework/config-reference.html).
 
 ## Installation
 
-This plugin can be installed by copying the plugin jar into your application's `/WEB-INF/lib` directory. No other files need to be copied or created.
+This plugin can be installed by copying the plugin jar into your application's `/WEB-INF/lib` directory. 
+No other files need to be copied or created.
diff --git a/source/plugins/tiles/tiles-use.md b/source/plugins/tiles/tiles-use.md
deleted file mode 100644
index 3262f94..0000000
--- a/source/plugins/tiles/tiles-use.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-layout: plugin
-title: Tiles Use
----
-
-# Tiles Use
-
-Tiles uses a definition file (XML document) that must be instantiated before use. One way to render the definition file would be to use Spring. Another way would be to use a separate Listener, as shown by Tilesconfigurer.
-
-**TilesConfigurer.java**
-
-```java
-
-package com.opensymphony.webwork.views.tiles;
-
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-
-import org.apache.struts.tiles.DefinitionsFactoryConfig;
-import org.apache.struts.tiles.DefinitionsFactoryException;
-import org.apache.struts.tiles.TilesUtil;
-import org.apache.struts.tiles.xmlDefinition.I18nFactorySet;
-
-/*
-* Modified from Spring's source
-*
-* here's how a smaple web xml should look like:
-* <web-app>
-*   <context-param>
-*     <param-name>tilesDefinitions</param-name>
-*     <param-value>/WEB-INF/tiles.xml</param-value>
-*   </context-param>
-*
-*   <listener>
-*      <listener-class>com.opensymphony.webwork.views.tiles.TilesConfigurer</listener-class>
-*   </listener>
-* </web-app>
-*
-* To use the definitions specified you would use a dispatcher result (since
-* tiles jsp is just another jsp) to render tiles view.
-*/
-public class TilesConfigurer implements ServletContextListener {
-
-    private boolean initialized = false;
-
-    public void contextInitialized (ServletContextEvent evt) {
-
-        if (!initialized) {
-            DefinitionsFactoryConfig factoryConfig = new DefinitionsFactoryConfig();
-            factoryConfig.setFactoryClassname(I18nFactorySet.class.getName());
-            factoryConfig.setParserValidate(true);
-            factoryConfig.setDefinitionConfigFiles(evt.getServletContext().getInitParameter("tilesDefinitions"));
-            try {
-                TilesUtil.createDefinitionsFactory(evt.getServletContext(), factoryConfig);
-            } catch (DefinitionsFactoryException e) {
-                e.printStackTrace();
-            }
-            initialized = true;
-        }
-
-    }
-
-    public void contextDestroyed (ServletContextEvent evt) {
-    }
-
-}
-
-```
-
-> The TilesConfigurer was adapted from the Spring source code.