<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<!--
     This is the Struts configuration file for the
     Tiles-documentation application
-->


<struts-config>

  <!-- ========== Action Mapping Definitions =============================== -->
  <action-mappings>

    <!-- The standard administrative actions available with Tiles -->
    <!-- These would be either omitted or protected by security constraints -->
    <!-- in a real application deployment -->

    <action    path="/admin/tiles/reload"
               type="org.apache.struts.tiles.actions.ReloadDefinitionsAction"/>
    <action    path="/admin/tiles/view"
               type="org.apache.struts.tiles.actions.ViewDefinitionsAction"/>
			   
  </action-mappings>

  
  <!-- ========== Request Processor Declaration =================== -->
  <!-- The Tiles framework use a special request processor. YOU DON'T -->
  <!-- NEED TO DECLARE IT yourself (The TilesPlugin do it for you), unless -->
  <!-- you have created your own request processor. In this later case, -->
  <!-- your request processor should extend the org.apache.struts.tiles.TilesRequestProcessor -->
  <!-- and be declared here -->
  <!--  <controller processorClass="your.RequestProcessor"  />  -->

  <!-- ========== Associated Messages Ressource settings =================== -->
  <!-- Uncomment the following if your webserver complains about a missing resources. -->
  <!-- This resource is not needed by Tiles or this example. It is just a trick to make -->
  <!-- Struts happy with some web server. -->
  <!-- <message-resources parameter="org.apache.struts.webapp.tiles.dev1-1.ApplicationResources" null="false" /> -->

  
 <!-- ========== TilesPlugin settings ===================================== -->
 <!-- You should declare this plugin if you want to use Tiles with an XML definition file. -->
  <plug-in className="org.apache.struts.tiles.TilesPlugin" >

    <!-- Path to XML definition file -->
    <set-property property="definitions-config" 
	                 value="/WEB-INF/tiles-defs.xml" />
    <!-- Set Module-awareness to true -->
    <set-property property="moduleAware" value="true" />
  </plug-in>

</struts-config>
