how to deal with the Frame when using sitemesh
- install the sitemesh described in the above article.
-
To be able to specify which mappers will be applied to a request, create the file
[web-app]/WEB-INF/sitemesh.xml
that contains the following:<sitemesh> <property name="decorators-file" value="/WEB-INF/decorators.xml" /> <excludes file="${decorators-file}" /> <page-parsers> <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser" /> <parser content-type="text/html;charset=ISO-8859-1" class="com.opensymphony.module.sitemesh.parser.FastPageParser" /> </page-parsers> <decorator-mappers> <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> <param name="config" value="${decorators-file}" /> </mapper> </decorator-mappers> </sitemesh>
in this example, the only mapper that will be applied is the
ConfigDecoratorMapper
, and that will only be applied to responses of typetext/html
ortext/html;charset=ISO-8859-1
. Responses of any other content type (egimage/gif
) will be ignored by Sitemesh. Additionally, any files that match a pattern specified in theexcludes
file (in this case'/WEB-INF/decorators.xml'
) will not be touched by Sitemesh. -
The excludes file points to an XML file that contains an
<excludes />
block similar to the following: add the following code in your decorators.xml<decorators defaultdir="/decorators">
?<excludes>
??<pattern>/plainPage.jsp</pattern>
??<pattern>/ewebeditor/*.*</pattern>
?</excludes>
?<decorator name="main" page="main.jsp">
??<pattern>/*</pattern>
?</decorator>
</decorators>