Class LanguageDecoratorMapper
java.lang.Object
com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
com.opensymphony.module.sitemesh.mapper.LanguageDecoratorMapper
- All Implemented Interfaces:
DecoratorMapper
The LanguageDecoratorMapper can determine the preferred language set in the
browser requesting a page, and map to a suitable Decorator (using the
"Accept-Language" HTTP header).
This can be useful for supplying different versions of the same content for different languages.
When LanguageDecoratorMapper is in the chain, it will request the appropriate Decorator
from its parent. It will then add an extention to the filename of the Decorator, and
if that file exists it shall be used as the Decorator instead. For example, if the
Decorator path is /blah.jsp
and the detected preferred language is en
,
the path /blah-en.jsp
shall be used.
The language mappings are configured by passing properties with match.
as a prefix.
For example: 'match.en'=engl , 'match.nl'=dutch .
- Author:
- Mathias Bogaert
- See Also:
-
Field Summary
FieldsFields inherited from class com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
config, parent
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetDecorator
(javax.servlet.http.HttpServletRequest request, Page page) Delegate to parent.private String
Get extention for the language.void
init
(Config config, Properties properties, DecoratorMapper parent) Set parent.private void
initMap
(Properties props) Initialize language mappings.private static String
modifyPath
(String path, String ext) Change /abc/def.jsp into /abc/def-XYZ.jspMethods inherited from class com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
getNamedDecorator
-
Field Details
-
map
-
-
Constructor Details
-
LanguageDecoratorMapper
public LanguageDecoratorMapper()
-
-
Method Details
-
init
public void init(Config config, Properties properties, DecoratorMapper parent) throws InstantiationException Description copied from class:AbstractDecoratorMapper
Set parent.- Specified by:
init
in interfaceDecoratorMapper
- Overrides:
init
in classAbstractDecoratorMapper
- Parameters:
config
- Config supplied by Servlet or Filter.properties
- Any initialization properties (specific to implementation).- Throws:
InstantiationException
- should be thrown if the implementation cannot be initialized properly.
-
getDecorator
Description copied from class:AbstractDecoratorMapper
Delegate to parent.- Specified by:
getDecorator
in interfaceDecoratorMapper
- Overrides:
getDecorator
in classAbstractDecoratorMapper
-
getExt
Get extention for the language. -
modifyPath
Change /abc/def.jsp into /abc/def-XYZ.jsp -
initMap
Initialize language mappings.
-