|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectcom.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
com.opensymphony.module.sitemesh.mapper.LanguageDecoratorMapper
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 .
DecoratorMapper| Field Summary | |
private Map |
map
|
| Fields inherited from class com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper |
config, parent |
| Constructor Summary | |
LanguageDecoratorMapper()
|
|
| Method Summary | |
Decorator |
getDecorator(HttpServletRequest request,
Page page)
Delegate to parent. |
private String |
getExt(String acceptLanguage)
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.jsp |
| Methods inherited from class com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper |
getNamedDecorator |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
private Map map
| Constructor Detail |
public LanguageDecoratorMapper()
| Method Detail |
public void init(Config config,
Properties properties,
DecoratorMapper parent)
throws InstantiationException
AbstractDecoratorMapper
init in interface DecoratorMapperinit in class AbstractDecoratorMapperInstantiationException
public Decorator getDecorator(HttpServletRequest request,
Page page)
AbstractDecoratorMapper
getDecorator in interface DecoratorMappergetDecorator in class AbstractDecoratorMapperprivate String getExt(String acceptLanguage)
private static String modifyPath(String path,
String ext)
private void initMap(Properties props)
|
www.opensymphony.com/sitemesh/ | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||