org.apache.jetspeed.modules.pages
Class JetspeedTemplatePage

java.lang.Object
  extended byorg.apache.turbine.modules.Assembler
      extended byorg.apache.turbine.modules.Page
          extended byorg.apache.turbine.modules.pages.DefaultPage
              extended byorg.apache.jetspeed.modules.pages.JetspeedTemplatePage
Direct Known Subclasses:
JetspeedJspPage, JetspeedVelocityPage

public class JetspeedTemplatePage
extends org.apache.turbine.modules.pages.DefaultPage

When building sites using templates, Screens need only be defined for templates which require dynamic (database or object) data.

This page can be used on sites where the number of Screens can be much less than the number of templates. The templates can be grouped in directories with common layouts. Screen modules are then expected to be placed in packages corresponding with the templates' directories and follow a specific naming scheme.

The template parameter is parsed and and a Screen whose package matches the templates path and shares the same name minus any extension and beginning with a capital letter is searched for. If not found, a Screen in a package matching the template's path with name Default is searched for. If still not found, a Screen with name Default is looked for in packages corresponding to parent directories in the template's path until a match is found.

For example if data.getParameters().getString("template") returns /about_us/directions/driving.wm, the search follows about_us.directions.Driving, about_us.directions.Default, about_us.Default, Default, WebMacroSiteScreen (i.e. the default screen set in TurbineResources).

Only one Layout module is used, since it is expected that any dynamic content will be placed in navigations and screens. The layout template to be used is found in a similar way to the Screen. For example the following paths will be searched in the layouts subdirectory: /about_us/directions/driving.wm, /about_us/directions/default.wm, /about_us/default.wm, /default.wm, where wm is the value of the template.default.extension property.

This approach allows a site with largely static content to be updated and added to regularly by those with little Java experience.

Version:
$Id: JetspeedTemplatePage.java,v 1.24 2004/02/23 02:59:52 jford Exp $
Author:
John D. McNally, Dave Bryson, Paul Spencer

Constructor Summary
JetspeedTemplatePage()
           
 
Method Summary
protected  void doBuildAfterAction(org.apache.turbine.util.RunData data)
          Works with TemplateService to set up default templates and corresponding class modules.
protected  void doBuildBeforeAction(org.apache.turbine.util.RunData data)
          Works with TemplateService to set up default templates and corresponding class modules.
 
Methods inherited from class org.apache.turbine.modules.pages.DefaultPage
doBuild, doPostBuild
 
Methods inherited from class org.apache.turbine.modules.Page
build
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JetspeedTemplatePage

public JetspeedTemplatePage()
Method Detail

doBuildBeforeAction

protected void doBuildBeforeAction(org.apache.turbine.util.RunData data)
                            throws java.lang.Exception
Works with TemplateService to set up default templates and corresponding class modules.

Parameters:
data - Turbine information.
Throws:
Exception, - a generic exception.
java.lang.Exception

doBuildAfterAction

protected void doBuildAfterAction(org.apache.turbine.util.RunData data)
                           throws java.lang.Exception
Works with TemplateService to set up default templates and corresponding class modules.

Parameters:
data - Turbine information.
Throws:
Exception, - a generic exception.
java.lang.Exception


Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.