Hi, I have struggled with this for sometime now and found an interesting
thing. If I replace the filter class
"org.apache.struts2.sitemesh.FreemarkerPageFilter" with
"com.opensymphony.module.sitemesh.filter.PageFilter" in the web.xml, the
"page" content (title, head, body elements) are being parsed and inserted
within the decorator. However, with this approach, I am not able to use
Freemarker style include tags within the decorator "main.jsp (that I used)"
for example, <#assign
page=JspTaglibs["http://www.opensymphony.com/sitemesh/page";]> or the OGNL
style <@decorator.head/>. I had to revert back to <[EMAIL PROTECTED]
file="header1.dec"%>, <[EMAIL PROTECTED] prefix="decorator"
uri="http://www.opensymphony.com/sitemesh/decorator"; %> and <decorator:head>
respectively in the decorators. 

So, the problem I think is with the FreemarkerPageFilter class. Hope this
helps.





orshoe wrote:
> 
> I am having the exact same problem, except I am also using Freemarker
> along with Sitemesh and Struts 2. I tried using the <decorator:head/>
> style tags as well as the OGNL style <@decorator.head/> tags. Viewing the
> source of the rendered page on the browser doesn't show the tags
> themselves (for the OGNL styled ones) on the source. However, the head and
> body are not rendered from the page either. Am I missing something like
> the order of the filters, or a filter itself? Please see the filter config
> in my web.xml:
> 
>     <filter>
>         <filter-name>struts-cleanup</filter-name>
>        
> <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
>     </filter>
> 
>     <filter>
>         <filter-name>Struts2</filter-name>
>        
> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
>     </filter>
> 
>    <filter>
>         <filter-name>sitemesh</filter-name>
>        
> <filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilter</filter-class>
>     </filter>
> 
>     <filter-mapping>
>         <filter-name>struts-cleanup</filter-name>
>         <url-pattern>/*</url-pattern>
>     </filter-mapping>
> 
>     <filter-mapping>
>         <filter-name>Struts2</filter-name>
>         <url-pattern>/*</url-pattern>
>     </filter-mapping>
> 
>     <filter-mapping>
>         <filter-name>sitemesh</filter-name>
>         <url-pattern>/*</url-pattern>
>     </filter-mapping>
> 
> Please advise.
> 
> 
> Rosalia Lee wrote:
>> 
>> Hi,
>> 
>> I'm new to SiteMesh and have been trying to use SiteMesh, Struts 2 with
>> SiteMesh Plugin and Java 5 for a project. I have been stucked with this
>> problem for a couple days. Thanks in advance for your help.  It will be
>> greatly appreciated! 
>> 
>> Problem: When I requested index.html or index.jsp, the result page was
>> decorated, but it didn't show the contenct because the <decorator: head
>> /> and <docorator:body /> tags were not parsed or replaced with content
>> in the requested page.
>> 
>> *************************************************** 
>> This is my web.xml 
>> 
>> <web-app id="WebApp_9" version="2.4" 
>> xmlns="http://java.sun.com/xml/ns/j2ee"; 
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";> 
>> 
>> <display-name>Prototype Application</display-name> 
>> 
>> <filter> 
>>   <filter-name>struts-cleanup</filter-name> 
>>   <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filt
>> er-class> 
>> </filter> 
>> <filter> 
>>   <filter-name>sitemesh</filter-name> 
>>   <filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilter</filter
>> -class> 
>> </filter> 
>> <filter> 
>>   <filter-name>struts2</filter-name> 
>>   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-c
>> lass> 
>> </filter> 
>> 
>> <filter-mapping> 
>>   <filter-name>struts-cleanup</filter-name> 
>>   <url-pattern>/*</url-pattern> 
>> </filter-mapping> 
>> <filter-mapping> 
>>   <filter-name>sitemesh</filter-name> 
>>   <url-pattern>/*</url-pattern> 
>> </filter-mapping> 
>> 
>> <filter-mapping> 
>>   <filter-name>struts2</filter-name> 
>>   <url-pattern>/*</url-pattern> 
>> </filter-mapping> 
>> 
>> <welcome-file-list> 
>>   <welcome-file>index.html</welcome-file> 
>>   <welcome-file>index.jsp</welcome-file> 
>> </welcome-file-list> 
>> </web-app> 
>> 
>> ***************************************** 
>> This is my sitemesh.xml 
>> 
>> <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.HTMLPageParser" /> 
>>     <parser content-type="text/html;charset=ISO-8859-1" 
>>       class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" /> 
>>   </page-parsers> 
>> 
>>   <decorator-mappers> 
>>     <mapper
>> class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> 
>>        
>>     </mapper> 
>>   </decorator-mappers> 
>> </sitemesh> 
>> 
>> ********************************** 
>> baseTemplate.jsp (this is my decorator) 
>> 
>> <%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator";
>> prefix="decorator" %> 
>> 
>> <html> 
>> <head> 
>>   <title>Static Title from Decorator Page</title> 
>>   <decorator:head /> 
>> </head> 
>> 
>> <body> 
>>   Static Text from Decorator Page 
>> 
>>   <decorator:body /> 
>> </body> 
>> </html> 
>> 
>> ***************************** 
>> This is my index.html and index.jsp. (I tried both files, but neither
>> work) 
>> 
>> <HTML> 
>> <HEAD> 
>> Header from requested page 
>> </HEAD> 
>> <BODY> 
>> Directly under war dir. TESTING!!! 
>> Click 
>> </BODY> 
>> </HTML>
>> 
>> Thanks for your help in advanace.
>> 
>> Rosalia
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Need-help%3A-%3Cdecorator%3Abody--%3E-not-parsed-tf4070536.html#a11695616
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to