org.apache.turbine.modules.pages
Class DefaultPage

java.lang.Object
  extended by org.apache.turbine.modules.Assembler
      extended by org.apache.turbine.modules.Page
          extended by org.apache.turbine.modules.pages.DefaultPage
Direct Known Subclasses:
TemplatePage

public class DefaultPage
extends Page

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, VelocitySiteScreen.

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.

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

The code is an almost a complete clone of the FreeMarkerSitePage written by John McNally. I've only modified it for Template use.

Version:
$Id: DefaultPage.java 1078552 2011-03-06 19:58:46Z tv $
Author:
Dave Bryson, Henning P. Schmiedehausen, Peter Courcoux

Field Summary
protected  ActionLoader actionLoader
           
protected  LayoutLoader layoutLoader
           
protected  org.apache.commons.logging.Log log
          Logging
protected  ScreenLoader screenLoader
           
 
Fields inherited from class org.apache.turbine.modules.Page
CACHE_SIZE_DEFAULT, CACHE_SIZE_KEY, NAME, PREFIX
 
Constructor Summary
DefaultPage()
          Default constructor
 
Method Summary
 void doBuild(PipelineData pipelineData)
          Builds the Page.
 void doBuild(RunData data)
          Deprecated. Use PipelineData version instead
protected  void doBuildAfterAction(PipelineData pipelineData)
          Can be overridden by template Pages to set up data needed to process a template.
protected  void doBuildAfterAction(RunData data)
          Deprecated. Use PipelineData version instead
protected  void doBuildBeforeAction(PipelineData pipelineData)
          Can be used by template Pages to stuff the Context into the RunData so that it is available to the Action module and the Screen module via getContext().
protected  void doBuildBeforeAction(RunData data)
          Deprecated. Use PipelineData version instead
protected  void doPostBuild(PipelineData pipelineData)
          Can be overridden to perform actions when the request is fully processed.
protected  void doPostBuild(RunData data)
          Deprecated. Use PipelineData version instead
 
Methods inherited from class org.apache.turbine.modules.Page
build, build, getPrefix
 
Methods inherited from class org.apache.turbine.modules.Assembler
getRunData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected org.apache.commons.logging.Log log
Logging


actionLoader

protected ActionLoader actionLoader

screenLoader

protected ScreenLoader screenLoader

layoutLoader

protected LayoutLoader layoutLoader
Constructor Detail

DefaultPage

public DefaultPage()
Default constructor

Method Detail

doBuild

@Deprecated
public void doBuild(RunData data)
             throws Exception
Deprecated. Use PipelineData version instead

Builds the Page.

Specified by:
doBuild in class Page
Parameters:
data - Turbine information.
Throws:
Exception, - a generic exception.
Exception - a generic exception.

doBuild

public void doBuild(PipelineData pipelineData)
             throws Exception
Builds the Page.

Overrides:
doBuild in class Page
Parameters:
data - Turbine information.
Throws:
Exception, - a generic exception.
Exception - a generic exception.

doBuildBeforeAction

@Deprecated
protected void doBuildBeforeAction(RunData data)
                            throws Exception
Deprecated. Use PipelineData version instead

Can be used by template Pages to stuff the Context into the RunData so that it is available to the Action module and the Screen module via getContext(). It does nothing here.

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

doBuildAfterAction

@Deprecated
protected void doBuildAfterAction(RunData data)
                           throws Exception
Deprecated. Use PipelineData version instead

Can be overridden by template Pages to set up data needed to process a template. It does nothing here.

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

doPostBuild

@Deprecated
protected void doPostBuild(RunData data)
                    throws Exception
Deprecated. Use PipelineData version instead

Can be overridden to perform actions when the request is fully processed. It does nothing here.

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

doBuildBeforeAction

protected void doBuildBeforeAction(PipelineData pipelineData)
                            throws Exception
Can be used by template Pages to stuff the Context into the RunData so that it is available to the Action module and the Screen module via getContext(). It does nothing here.

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

doBuildAfterAction

protected void doBuildAfterAction(PipelineData pipelineData)
                           throws Exception
Can be overridden by template Pages to set up data needed to process a template. It does nothing here.

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

doPostBuild

protected void doPostBuild(PipelineData pipelineData)
                    throws Exception
Can be overridden to perform actions when the request is fully processed. It does nothing here.

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


Copyright © 2000-2011 The Apache Software Foundation. All Rights Reserved.