Sun and Oracle Community Voices How to Buy Log In United States [Change] English

»  Spotlight Articles
»  Projects
»  Publications
»  People
»  Awards
»  Events
»  Downloads
»  Internships
»  Contrarian Minds
»  About Sun Labs
Brazil project: Class TemplateHandler

sunlabs.brazil.template Class TemplateHandler

java.lang.Object
  |
  +--sunlabs.brazil.template.TemplateHandler
All Implemented Interfaces:
Handler

public class TemplateHandler
extends Object
implements Handler

The TemplateHandler reads a template file from the document root, based on the URL, and passes the content through one or more template filters.

The following configuration parameters are used to initialize this Handler:

prefix
Only URLs beginning with this string will be candidates for template processing. The default is "/".
suffix
Suffix string for our requests.
templates
A list of Template class names. Methods in the template classes will be invoked to process the XML (or HTML) tags present in the content.
session
The name of the request property that the Session ID will be found in, used to identify the proper template instance. The default value is "SessionID". Typically, a sessionHandler, such as CookieSessionHandler is used upstream to create the sessionID. If no id is found, then the session named "common" is used instead.
default
The default file in the directory to use as a template if a directory name is specified. Defaults to index[suffix], or "index.html" if no suffix is provided.

The request properties DirectoryName and FileName may be set as a convinience for downstream handlers.

To filter content other than from the file system, use the template filter instead.


Constructor Summary
TemplateHandler()            
 
Method Summary
 String getContent(Request request, File file)           get the content associated with this template.
 boolean init(Server server, String propsPrefix)           Initializes the handler.
 boolean respond(Request request)           Process an html template file, using the supplied template processing classes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TemplateHandler

public TemplateHandler()
Method Detail

init

public boolean init(Server server,
                    String propsPrefix)
Description copied from interface: Handler
Initializes the handler.
Specified by:
init in interface Handler
Tags copied from interface: Handler
Parameters:
server - The HTTP server that created this Handler. Typical Handlers will use Server.props to obtain run-time configuration information.
prefix - A prefix that this Handler may prepend to all of the keys that it uses to extract configuration information from Server.props. This is set (by the Server and ChainHandler) to help avoid configuration parameter namespace collisions.

For example, if a Handler uses the property "account", and the specified prefix is "bank.", then the Handler should actually examine the property "bank.account" in Server.props.

Returns:
true if this Handler initialized successfully, false otherwise. If false is returned, this Handler should not be used.

respond

public boolean respond(Request request)
                throws IOException
Process an html template file, using the supplied template processing classes.
Specified by:
respond in interface Handler
Tags copied from interface: Handler
Parameters:
request - The Request object that represents the HTTP request.
Returns:
true if the request was handled. A request was handled if a response was supplied to the client, typically by calling Request.sendResponse() or Request.sendError.
Throws:
IOException - if there was an I/O error while sending the response to the client. Typically, in that case, the Server will (try to) send an error message to the client and then close the client's connection.

The IOException should not be used to silently ignore problems such as being unable to access some server-side resource (for example getting a FileNotFoundException due to not being able to open a file). In that case, the Handler's duty is to turn that IOException into a HTTP response indicating, in this case, that a file could not be found.


getContent

public String getContent(Request request,
                         File file)
                  throws IOException
get the content associated with this template. This version reads it from a file.
Parameters:
request - The standard request object
file - The file object to get the template from

Version 2.2, Generated 07/25/00
Copyright (c) 2000, Sun Microsystems.