Dear Roland-from-last-week,

The normal ConfigDecoratorMapper does what you want.  Since namespaces in 
Struts look like a "path" in the URL, you can simply apply a decorator to the 
pattern for the namespace.  For example, in your decorators.xml, do:

    <decorator name="yournamespace" page="yournamespace-decorator.ftl">
        <pattern>/yournamespace/*</pattern>
    </decorator>

There is no need for your templates to declare their decorator using the meta 
tag and thus invoke the PageDecoratorMapper.

love,
alert roland


On Jun 28, 2011, at 3:44 PM, struts....@spamgourmet.com wrote:

> I have two namespaces,  "admin" and " (the default namespace).  I'd like to 
> re-use the same result template for both, but decorate them differently.
> 
> My templates declare their decorator using the meta tag, like this: <meta 
> name="decorator" content="admin" />
> Then, in decorators.xml, I have defined:     <decorator name="admin" 
> page="admin.ftl" />
> 
> I'd like to generalize this to have one decorator per namespace, and remove 
> the meta tag in my files.  How can I get DecoratorMapper to be namespace 
> aware?  Should I write my own NamespaceDecoratorMapper extends 
> AbstractDecoratorMapper?  How would the DecoratorMapper get access to the 
> ServletActionContext?
> 
> Alternately, I could keep my current system and simply use <meta 
> name="decorator" content="${namespace}" /> in my result templates, then 
> implement my BaseAction's getNamespace as:
> 
> String getNamespace() {
>  return ServletActionContext.getActionMapping().getNamespace();
> }
> 
> What do you guys think?  Has anyone implemented namespace-specific sitemesh 
> decorators before?
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to