Package org.apache.struts.tiles
Class TilesUtil
java.lang.Object
org.apache.struts.tiles.TilesUtil
- Direct Known Subclasses:
DefinitionsUtil
Class containing utility methods for Tiles.
Methods of this class are static and thereby accessible from anywhere.
The underlying implementation can be changed with
Real implementation classes should derive from the
Some methods are specified to throw the
setTilesUtil(TilesUtilImpl)
.
Real implementation classes should derive from the
TilesUtilImpl
class.
Some methods are specified to throw the
UnsupportedOperationException
if the underlying implementation doesn't support the operation.-
Field Summary
Modifier and TypeFieldDescriptionprotected static TilesUtilImpl
The implementation of tilesUtilImpl -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic DefinitionsFactory
createDefinitionsFactory
(ServletContext servletContext, DefinitionsFactoryConfig factoryConfig) Create Definition factory from specified configuration object.static void
doForward
(String uri, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext) Do a forward using request dispatcher.static void
doInclude
(String uri, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext) Do an include using request dispatcher.static void
doInclude
(String uri, PageContext pageContext) Do an include using PageContext.include().static void
doInclude
(String uri, PageContext pageContext, boolean flush) Do an include using PageContext.include().static ComponentDefinition
getDefinition
(String definitionName, ServletRequest request, ServletContext servletContext) Get a definition by its name.static DefinitionsFactory
getDefinitionsFactory
(ServletRequest request, ServletContext servletContext) Get definition factory from appropriate servlet context.static TilesUtilImpl
Get the real implementation.static void
setTilesUtil
(TilesUtilImpl tilesUtil) Set the real implementation.protected static void
Reset internal state.
-
Field Details
-
tilesUtilImpl
The implementation of tilesUtilImpl
-
-
Constructor Details
-
TilesUtil
public TilesUtil()
-
-
Method Details
-
getTilesUtil
Get the real implementation.- Returns:
- The underlying implementation object.
-
setTilesUtil
Set the real implementation. This method should be called only once. Successive calls have no effect.- Parameters:
tilesUtil
- The implementation.
-
doForward
public static void doForward(String uri, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext) throws IOException, ServletException Do a forward using request dispatcher. This method is used by the Tiles package anytime a forward is required.- Parameters:
uri
- Uri or Definition name to forward.request
- Current page request.response
- Current page response.servletContext
- Current servlet context.- Throws:
IOException
ServletException
-
doInclude
public static void doInclude(String uri, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext) throws IOException, ServletException Do an include using request dispatcher. This method is used by the Tiles package when an include is required. The Tiles package can use indifferently any form of this method.- Parameters:
uri
- Uri or Definition name to forward.request
- Current page request.response
- Current page response.servletContext
- Current servlet context.- Throws:
IOException
ServletException
-
doInclude
public static void doInclude(String uri, PageContext pageContext) throws IOException, ServletException Do an include using PageContext.include(). This method is used by the Tiles package when an include is required. The Tiles package can use indifferently any form of this method.- Parameters:
uri
- Uri or Definition name to forward.pageContext
- Current page context.- Throws:
IOException
ServletException
-
doInclude
public static void doInclude(String uri, PageContext pageContext, boolean flush) throws IOException, ServletException Do an include using PageContext.include(). This method is used by the Tiles package when an include is required. The Tiles package can use indifferently any form of this method.- Parameters:
uri
- Uri or Definition name to forward.pageContext
- Current page context.flush
- If the writer should be flushed before the include- Throws:
IOException
ServletException
-
getDefinitionsFactory
public static DefinitionsFactory getDefinitionsFactory(ServletRequest request, ServletContext servletContext) Get definition factory from appropriate servlet context.- Returns:
- Definitions factory or
null
if not found.
-
createDefinitionsFactory
public static DefinitionsFactory createDefinitionsFactory(ServletContext servletContext, DefinitionsFactoryConfig factoryConfig) throws DefinitionsFactoryException Create Definition factory from specified configuration object. Create a ConfigurableDefinitionsFactory and initialize it with the configuration object. This later can contain the factory classname to use. Factory is made accessible from tags.Fallback of several factory creation methods.
- Parameters:
servletContext
- Servlet Context passed to newly created factory.factoryConfig
- Configuration object passed to factory.- Returns:
- newly created factory of type ConfigurableDefinitionsFactory.
- Throws:
DefinitionsFactoryException
- If an error occur while initializing factory
-
getDefinition
public static ComponentDefinition getDefinition(String definitionName, ServletRequest request, ServletContext servletContext) throws FactoryNotFoundException, DefinitionsFactoryException Get a definition by its name. First, retrieve definition factory and then get requested definition. Throw appropriate exception if definition or definition factory is not found.- Parameters:
definitionName
- Name of requested definition.request
- Current servelet request.servletContext
- current servlet context.- Throws:
FactoryNotFoundException
- Can't find definition factory.DefinitionsFactoryException
- General error in factory while getting definition.NoSuchDefinitionException
- No definition found for specified name
-
testReset
protected static void testReset()Reset internal state. This method is used by test suites to reset the class to its original state.
-