# Design Approach

Examine the partial template below to see how the external include file looks. As you might notice, everything is commented out. If you want to call a certain function, you must uncomment the functions and/or sections.
Note: Only declared functions in the external files can be called from the HTML Page.
To see the entire external file templates or available functions, examine the `\cm_templates` folder under the application root directory.

    			<%@page contentType="text/html;charset=UTF-8"%>
    			<%@ taglib uri="spl.tld" prefix="spl" %>
    			<spl:initializeLocale/>

    			<!--
    			        ******************************************************************
    			        *                                                                *
    			        * Copyright (c) 2000, 2007, Oracle. All rights reserved.         *
    			        *                                                                *
    			        ******************************************************************
    			        *                                                                *
    			$#BSES* REVISION-INFO Start Exit, Do not modify - Dev. Only.
    			      *  $DateTime$
    			      *  $File$
    			      *  $Revision$
    			$#BSEE* REVISION-INFO End Exit, Do not modify - Dev. Only.
    			        ******************************************************************
    			-->

    			<script type="text/javascript">

    			//                          User Variable Declarations
    			//-----------------------------------------------------------------------------

    			/*
    			Replace With Your Code
    			*/

    			//                          User Function Declarations
    			//-----------------------------------------------------------------------------

    			/*
    			Replace With Your Code
    			*/

    			//           User Functions That Are CALLED From According JSP File
    			//-----------------------------------------------------------------------------

    			/*
    			function extPreOnWindowLoadNoListBefore(){
    			//This should be used to set values/attributes when the page loads.
    			//This includes actions after a default.
    			//
    			//This function is called BEFORE SPL's internal functions are called

    			// Your Code
    			}
    			*/

The following discussion explains how the external file is included. The external file is a JSP file. This JSP is executed with appropriate HTTP request header data from within the XSLT engine that creates the HTML from the UI metadata. The XSLT engine will output the rendered JSP code textually into the final HTML. If the file does not exist, the server will not include the external file, otherwise every defined function (uncommented) in the file will be included and called at the appropriate times.

Parent topic: External User Exit Templates