You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Garner Shawn <sh...@gmail.com> on 2007/02/26 19:35:54 UTC

sitemesh and jsf

I'm trying to use sitmesh with JSF and am getting the following exception:
This is my template decorator page and has a f:view page.
Is there something I have to do with this to initialize the
FacesContext for the decorators/templates?


javax.faces.FacesException: Faces context not found. getResponseWriter
will fail. Check if the FacesServlet has been initialized at all in
your web.xml configuration fileand if you are accessing your jsf-pages
through the correct mapping. E.g.: if your FacesServlet is mapped to
*.jsf (with the <servlet-mapping>-element), you need to access your
pages as 'sample.jsf'. If you tried to access 'sample.jsp', you'd get
this error-message.
       javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:926)
       javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
       org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
       org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0(andreasTemplate_jsp.java:146)
       org.apache.jsp.decorators.andreasTemplate_jsp._jspService(andreasTemplate_jsp.java:122)
       org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
       javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
       org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
       org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
       javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(TemplateFilterImpl.java:49)
       com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:62)
       org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)

Re: sitemesh and jsf

Posted by Garner Shawn <sh...@gmail.com>.
I tried facelets once.
I got fed up by the tomahawk components and the extra file you needed.
I had troubles with it all the time.

Plus sitemesh is nice that you can do decorators based on paths so it
saves a lot of un-needed work of doing something for every single
page.
Personally I'd rather use Tiles than Facelets because I know Tiles
will work if I have to use it.
But Tiles is a bunch of un-needed work per page too.
I used Sitemesh on Struts 2 and like it a lot.

Trying to get it to work on JSF though.
I've been messing around with MyFaces source and Sitemesh source to
figure out a solution but alas I don't know enough about either to
make any progress.

Shawn

On 2/27/07, Grant Smith <wo...@gmail.com> wrote:
> I seem to remember having similar issues with Sitemesh when I tried to
> incorporate components into the actual template. It became a moot point
> after I switched to Facelets, as Facelets accomplished all the templating I
> needed. Would switching to Facelets be an option for you ?
>
>
>
>
> On 2/27/07, Garner Shawn <sh...@gmail.com> wrote:
> > Why not, you can have JSF if you use tiles?  Tiles does the same sort of
> thing.
> > Should be able to do something to have Sitemesh allow for it too.
> > Anyone find a way to get this to work?
> >
> > Shawn
> >
> > On 2/27/07, Ricardo Tercero Lozano < rtercerol@gmail.com> wrote:
> > > As far as I know you cannot use JSF in Sitemesh decorators.
> > >
> > > Ricardo.
> > >
> > >
> > >
> > > On 2/26/07, Garner Shawn < shawndgarner@gmail.com > wrote:
> > > > I'm trying to use sitmesh with JSF and am getting the following
> exception:
> > > > This is my template decorator page and has a f:view page.
> > > > Is there something I have to do with this to initialize the
> > > > FacesContext for the decorators/templates?
> > > >
> > > >
> > > > javax.faces.FacesException: Faces context not found. getResponseWriter
> > > > will fail. Check if the FacesServlet has been initialized at all in
> > > > your web.xml configuration fileand if you are accessing your jsf-pages
> > > > through the correct mapping. E.g.: if your FacesServlet is mapped to
> > > > *.jsf (with the <servlet-mapping>-element), you need to access your
> > > > pages as 'sample.jsf'. If you tried to access 'sample.jsp', you'd get
> > > > this error-message.
> > > >
> > > javax.faces.webapp.UIComponentTag.setupResponseWriter
> > > (UIComponentTag.java:926)
> > > >
> > >
> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
> > > >
> > >
> org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
> > > >
> > >
> org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
> > > (andreasTemplate_jsp.java:146)
> > > >
> > >
> org.apache.jsp.decorators.andreasTemplate_jsp._jspService
> (andreasTemplate_jsp.java:122)
> > > >
> > >
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> > > >        javax.servlet.http.HttpServlet.service
> > > (HttpServlet.java:802)
> > > >
> > >
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> > > >
> > >
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> > > >        org.apache.jasper.servlet.JspServlet.service
> > > (JspServlet.java:264)
> > > >
> > >
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > > >
> > >
> com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(TemplateFilterImpl.java:49)
> > > >
> > >
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter
> > > (PageFilter.java:62)
> > > >
> > >
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
> > > >
> > >
> > >
> >
>
>
>
> --
> Grant Smith
>

Re: sitemesh and jsf

Posted by Grant Smith <wo...@gmail.com>.
I seem to remember having similar issues with Sitemesh when I tried to
incorporate components into the actual template. It became a moot point
after I switched to Facelets, as Facelets accomplished all the templating I
needed. Would switching to Facelets be an option for you ?



On 2/27/07, Garner Shawn <sh...@gmail.com> wrote:
>
> Why not, you can have JSF if you use tiles?  Tiles does the same sort of
> thing.
> Should be able to do something to have Sitemesh allow for it too.
> Anyone find a way to get this to work?
>
> Shawn
>
> On 2/27/07, Ricardo Tercero Lozano <rt...@gmail.com> wrote:
> > As far as I know you cannot use JSF in Sitemesh decorators.
> >
> > Ricardo.
> >
> >
> >
> > On 2/26/07, Garner Shawn <shawndgarner@gmail.com > wrote:
> > > I'm trying to use sitmesh with JSF and am getting the following
> exception:
> > > This is my template decorator page and has a f:view page.
> > > Is there something I have to do with this to initialize the
> > > FacesContext for the decorators/templates?
> > >
> > >
> > > javax.faces.FacesException: Faces context not found. getResponseWriter
> > > will fail. Check if the FacesServlet has been initialized at all in
> > > your web.xml configuration fileand if you are accessing your jsf-pages
> > > through the correct mapping. E.g.: if your FacesServlet is mapped to
> > > *.jsf (with the <servlet-mapping>-element), you need to access your
> > > pages as 'sample.jsf'. If you tried to access 'sample.jsp', you'd get
> > > this error-message.
> > >
> > javax.faces.webapp.UIComponentTag.setupResponseWriter
> > (UIComponentTag.java:926)
> > >
> > javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
> > >
> > org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
> > >
> > org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
> > (andreasTemplate_jsp.java:146)
> > >
> > org.apache.jsp.decorators.andreasTemplate_jsp._jspService
> (andreasTemplate_jsp.java:122)
> > >
> > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> > >        javax.servlet.http.HttpServlet.service
> > (HttpServlet.java:802)
> > >
> > org.apache.jasper.servlet.JspServletWrapper.service(
> JspServletWrapper.java:332)
> > >
> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> > >        org.apache.jasper.servlet.JspServlet.service
> > (JspServlet.java:264)
> > >
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > >
> > com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(
> TemplateFilterImpl.java:49)
> > >
> > com.opensymphony.module.sitemesh.filter.PageFilter.doFilter
> > (PageFilter.java:62)
> > >
> > org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(
> ExtensionsFilter.java:144)
> > >
> >
> >
>



-- 
Grant Smith

Re: sitemesh and jsf

Posted by Garner Shawn <sh...@gmail.com>.
Why not, you can have JSF if you use tiles?  Tiles does the same sort of thing.
Should be able to do something to have Sitemesh allow for it too.
Anyone find a way to get this to work?

Shawn

On 2/27/07, Ricardo Tercero Lozano <rt...@gmail.com> wrote:
> As far as I know you cannot use JSF in Sitemesh decorators.
>
> Ricardo.
>
>
>
> On 2/26/07, Garner Shawn <shawndgarner@gmail.com > wrote:
> > I'm trying to use sitmesh with JSF and am getting the following exception:
> > This is my template decorator page and has a f:view page.
> > Is there something I have to do with this to initialize the
> > FacesContext for the decorators/templates?
> >
> >
> > javax.faces.FacesException: Faces context not found. getResponseWriter
> > will fail. Check if the FacesServlet has been initialized at all in
> > your web.xml configuration fileand if you are accessing your jsf-pages
> > through the correct mapping. E.g.: if your FacesServlet is mapped to
> > *.jsf (with the <servlet-mapping>-element), you need to access your
> > pages as 'sample.jsf'. If you tried to access 'sample.jsp', you'd get
> > this error-message.
> >
> javax.faces.webapp.UIComponentTag.setupResponseWriter
> (UIComponentTag.java:926)
> >
> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
> >
> org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
> >
> org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
> (andreasTemplate_jsp.java:146)
> >
> org.apache.jsp.decorators.andreasTemplate_jsp._jspService(andreasTemplate_jsp.java:122)
> >
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >        javax.servlet.http.HttpServlet.service
> (HttpServlet.java:802)
> >
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> >
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >        org.apache.jasper.servlet.JspServlet.service
> (JspServlet.java:264)
> >
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >
> com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(TemplateFilterImpl.java:49)
> >
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter
> (PageFilter.java:62)
> >
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
> >
>
>

Re: sitemesh and jsf

Posted by Garner Shawn <sh...@gmail.com>.
Yeah, I tested it on one page.  I'll be working on the rest of my
pages at a later date.

On 2/28/07, Titi Wangsa <bl...@gmail.com> wrote:
> have you tested it?
> i'm going to download it and test it
>

Re: sitemesh and jsf

Posted by Titi Wangsa <bl...@gmail.com>.
have you tested it?
i'm going to download it and test it

Re: sitemesh and jsf

Posted by Mike Kienenberger <mk...@gmail.com>.
Shawn, it probably makes the most sense for you to add it.

On 2/28/07, Garner Shawn <sh...@gmail.com> wrote:
> Alright I found a solution here:
> http://jira.opensymphony.com/browse/SIM-201
> Can somebody please add this to the MyFaces Wiki under the topic Sitemesh?
>
> Shawn
>
> On 2/27/07, Garner Shawn <sh...@gmail.com> wrote:
> > I did post on the Sitemesh users list.  I haven't heard anything back yet.
> > This list is much more active than the sitemesh list.
> >
> > Shawn
> >
> > On 2/27/07, Simon Kitching <si...@rhe.co.nz> wrote:
> > >
> > > Well I guess you'll have to look at the source-code for the Sitemesh
> > > PageFilter then, or ask on the Sitemesh list. The problem is clearly
> > > that JSF-specific JSP tags are being executed but not within the scope
> > > of a FacesServlet. That's not a MyFaces problem, so unfortunately you're
> > > not likely to get much further help on this list.
> > >
> > > However if you do get this figured out it would be great if you could
> > > post the solution here (or add a page to the wiki) for anyone who
> > > encounters this in the future.
> > >
> > > Regards,
> > >
> > > Simon
> > >
> > > Garner Shawn wrote:
> > > > I tried this and it didn't work but am unsure why:
> > > >
> > > > "ExternalContext.dispatch to execute the jsp servlet for processing its
> > > > template so maybe it's just as simple as ensuring the decorators file
> > > > for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
> > > > files, in order to trigger the FacesServlet rather than just the
> > > > jsp-handler servlet?"
> > > >
> > > > I got close by overriding the sitemesh filter and then doing a
> > > > chain.filter before calling the sitmesh filter.  It rendered the page
> > > > ok (not right) but it rendered the original page being decorated
> > > > twice.  Once at the beginning and then once later where it should have
> > > > been in the page.
> > > >
> > > >
> > > > Shawn
> > > > On 2/27/07, Simon Kitching <si...@rhe.co.nz> wrote:
> > > >> The project I am currently working on uses Sitemesh with MyFaces, ie the
> > > >> pages being *decorated* are JSF and it works. However the templates
> > > >> themselves will need to be JSP only (not JSF) I believe; that's
> > > >> certainly what we do.
> > > >>
> > > >> In order for a JSP page containing JSF tags to work correctly, the JSF
> > > >> FacesServlet must handle it. The FacesServlet sets up some JSF
> > > >> infrastructure  on entry, then executes the JSP page (using
> > > >> ExternalContext.dispatch). When JSF-specific tags execute the necessary
> > > >> JSF infrastructure is therefore present. However on completion of the
> > > >> servlet that infrastructure is destroyed by the FacesServlet.
> > > >>
> > > >> What the sitemesh *filter* does is initially pass the incoming request
> > > >> through without change so the primary "decorated" page is fetched, then
> > > >> it determines what decorator template to use and processes that
> > > >> *itself*. Sitemesh sets up the environment for its template to be
> > > >> correctly processed as jsp, but is not smart enough to set up the
> > > >> necessary environment for any JSF tags to execute successfully. And as
> > > >> described above the JSF-specific environment was set up on FacesServlet
> > > >> entry, but removed on FacesServlet exit so it is no longer available.
> > > >>
> > > >> We work around that somewhat by defining a custom "proxyInclude" tag
> > > >> which uses commons-httpclient to make requests. This tag can then be
> > > >> embedded into a Sitemesh template to insert JSF-generated data (in
> > > >> particular, a common header including a JsCookMenu menubar).
> > > >>
> > > >> Maybe the Sitemesh PageFilter could be improved to be JSF-aware but we
> > > >> haven't done that. Hmm..presumably the PageFilter does something like
> > > >> ExternalContext.dispatch to execute the jsp servlet for processing its
> > > >> template so maybe it's just as simple as ensuring the decorators file
> > > >> for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
> > > >> files, in order to trigger the FacesServlet rather than just the
> > > >> jsp-handler servlet?
> > > >>
> > > >> Regards,
> > > >>
> > > >> Simon
> > > >>
> > > >>
> > > >> Ricardo Tercero Lozano wrote:
> > > >> > As far as I know you cannot use JSF in Sitemesh decorators.
> > > >> >
> > > >> > Ricardo.
> > > >> >
> > > >> >
> > > >> > On 2/26/07, *Garner Shawn* <shawndgarner@gmail.com
> > > >> > <ma...@gmail.com>> wrote:
> > > >> >
> > > >> >     I'm trying to use sitmesh with JSF and am getting the following
> > > >> >     exception:
> > > >> >     This is my template decorator page and has a f:view page.
> > > >> >     Is there something I have to do with this to initialize the
> > > >> >     FacesContext for the decorators/templates?
> > > >> >
> > > >> >
> > > >> >     javax.faces.FacesException: Faces context not found.
> > > >> getResponseWriter
> > > >> >     will fail. Check if the FacesServlet has been initialized at all in
> > > >> >     your web.xml configuration fileand if you are accessing your
> > > >> jsf-pages
> > > >> >     through the correct mapping. E.g.: if your FacesServlet is
> > > >> mapped to
> > > >> >     *.jsf (with the <servlet-mapping>-element), you need to access your
> > > >> >     pages as 'sample.jsf'. If you tried to access 'sample.jsp',
> > > >> you'd get
> > > >> >     this error-message.
> > > >> >            javax.faces.webapp.UIComponentTag.setupResponseWriter
> > > >> >     (UIComponentTag.java:926)
> > > >> >
> > > >> >
> > > >> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
> > > >> >
> > > >> >     org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
> > > >> >
> > > >> >     org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
> > > >> >     (andreasTemplate_jsp.java:146)
> > > >> >
> > > >> >
> > > >> org.apache.jsp.decorators.andreasTemplate_jsp._jspService(andreasTemplate_jsp.java:122)
> > > >>
> > > >> >
> > > >> >     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> > > >> >            javax.servlet.http.HttpServlet.service
> > > >> (HttpServlet.java:802)
> > > >> >
> > > >> >
> > > >> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> > > >>
> > > >> >
> > > >> >
> > > >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> > > >> >            org.apache.jasper.servlet.JspServlet.service
> > > >> >     (JspServlet.java:264)
> > > >> >            javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > > >> >
> > > >> >
> > > >> com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(TemplateFilterImpl.java:49)
> > > >>
> > > >> >            com.opensymphony.module.sitemesh.filter.PageFilter.doFilter
> > > >> >     (PageFilter.java:62)
> > > >> >
> > > >> >
> > > >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
> > > >>
> > > >> >
> > > >> >
> > > >>
> > > >>
> > >
> > >
> >
>

Re: sitemesh and jsf

Posted by Garner Shawn <sh...@gmail.com>.
Alright I found a solution here:
http://jira.opensymphony.com/browse/SIM-201
Can somebody please add this to the MyFaces Wiki under the topic Sitemesh?

Shawn

On 2/27/07, Garner Shawn <sh...@gmail.com> wrote:
> I did post on the Sitemesh users list.  I haven't heard anything back yet.
> This list is much more active than the sitemesh list.
>
> Shawn
>
> On 2/27/07, Simon Kitching <si...@rhe.co.nz> wrote:
> >
> > Well I guess you'll have to look at the source-code for the Sitemesh
> > PageFilter then, or ask on the Sitemesh list. The problem is clearly
> > that JSF-specific JSP tags are being executed but not within the scope
> > of a FacesServlet. That's not a MyFaces problem, so unfortunately you're
> > not likely to get much further help on this list.
> >
> > However if you do get this figured out it would be great if you could
> > post the solution here (or add a page to the wiki) for anyone who
> > encounters this in the future.
> >
> > Regards,
> >
> > Simon
> >
> > Garner Shawn wrote:
> > > I tried this and it didn't work but am unsure why:
> > >
> > > "ExternalContext.dispatch to execute the jsp servlet for processing its
> > > template so maybe it's just as simple as ensuring the decorators file
> > > for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
> > > files, in order to trigger the FacesServlet rather than just the
> > > jsp-handler servlet?"
> > >
> > > I got close by overriding the sitemesh filter and then doing a
> > > chain.filter before calling the sitmesh filter.  It rendered the page
> > > ok (not right) but it rendered the original page being decorated
> > > twice.  Once at the beginning and then once later where it should have
> > > been in the page.
> > >
> > >
> > > Shawn
> > > On 2/27/07, Simon Kitching <si...@rhe.co.nz> wrote:
> > >> The project I am currently working on uses Sitemesh with MyFaces, ie the
> > >> pages being *decorated* are JSF and it works. However the templates
> > >> themselves will need to be JSP only (not JSF) I believe; that's
> > >> certainly what we do.
> > >>
> > >> In order for a JSP page containing JSF tags to work correctly, the JSF
> > >> FacesServlet must handle it. The FacesServlet sets up some JSF
> > >> infrastructure  on entry, then executes the JSP page (using
> > >> ExternalContext.dispatch). When JSF-specific tags execute the necessary
> > >> JSF infrastructure is therefore present. However on completion of the
> > >> servlet that infrastructure is destroyed by the FacesServlet.
> > >>
> > >> What the sitemesh *filter* does is initially pass the incoming request
> > >> through without change so the primary "decorated" page is fetched, then
> > >> it determines what decorator template to use and processes that
> > >> *itself*. Sitemesh sets up the environment for its template to be
> > >> correctly processed as jsp, but is not smart enough to set up the
> > >> necessary environment for any JSF tags to execute successfully. And as
> > >> described above the JSF-specific environment was set up on FacesServlet
> > >> entry, but removed on FacesServlet exit so it is no longer available.
> > >>
> > >> We work around that somewhat by defining a custom "proxyInclude" tag
> > >> which uses commons-httpclient to make requests. This tag can then be
> > >> embedded into a Sitemesh template to insert JSF-generated data (in
> > >> particular, a common header including a JsCookMenu menubar).
> > >>
> > >> Maybe the Sitemesh PageFilter could be improved to be JSF-aware but we
> > >> haven't done that. Hmm..presumably the PageFilter does something like
> > >> ExternalContext.dispatch to execute the jsp servlet for processing its
> > >> template so maybe it's just as simple as ensuring the decorators file
> > >> for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
> > >> files, in order to trigger the FacesServlet rather than just the
> > >> jsp-handler servlet?
> > >>
> > >> Regards,
> > >>
> > >> Simon
> > >>
> > >>
> > >> Ricardo Tercero Lozano wrote:
> > >> > As far as I know you cannot use JSF in Sitemesh decorators.
> > >> >
> > >> > Ricardo.
> > >> >
> > >> >
> > >> > On 2/26/07, *Garner Shawn* <shawndgarner@gmail.com
> > >> > <ma...@gmail.com>> wrote:
> > >> >
> > >> >     I'm trying to use sitmesh with JSF and am getting the following
> > >> >     exception:
> > >> >     This is my template decorator page and has a f:view page.
> > >> >     Is there something I have to do with this to initialize the
> > >> >     FacesContext for the decorators/templates?
> > >> >
> > >> >
> > >> >     javax.faces.FacesException: Faces context not found.
> > >> getResponseWriter
> > >> >     will fail. Check if the FacesServlet has been initialized at all in
> > >> >     your web.xml configuration fileand if you are accessing your
> > >> jsf-pages
> > >> >     through the correct mapping. E.g.: if your FacesServlet is
> > >> mapped to
> > >> >     *.jsf (with the <servlet-mapping>-element), you need to access your
> > >> >     pages as 'sample.jsf'. If you tried to access 'sample.jsp',
> > >> you'd get
> > >> >     this error-message.
> > >> >            javax.faces.webapp.UIComponentTag.setupResponseWriter
> > >> >     (UIComponentTag.java:926)
> > >> >
> > >> >
> > >> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
> > >> >
> > >> >     org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
> > >> >
> > >> >     org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
> > >> >     (andreasTemplate_jsp.java:146)
> > >> >
> > >> >
> > >> org.apache.jsp.decorators.andreasTemplate_jsp._jspService(andreasTemplate_jsp.java:122)
> > >>
> > >> >
> > >> >     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> > >> >            javax.servlet.http.HttpServlet.service
> > >> (HttpServlet.java:802)
> > >> >
> > >> >
> > >> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> > >>
> > >> >
> > >> >
> > >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> > >> >            org.apache.jasper.servlet.JspServlet.service
> > >> >     (JspServlet.java:264)
> > >> >            javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > >> >
> > >> >
> > >> com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(TemplateFilterImpl.java:49)
> > >>
> > >> >            com.opensymphony.module.sitemesh.filter.PageFilter.doFilter
> > >> >     (PageFilter.java:62)
> > >> >
> > >> >
> > >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
> > >>
> > >> >
> > >> >
> > >>
> > >>
> >
> >
>

Re: sitemesh and jsf

Posted by Garner Shawn <sh...@gmail.com>.
I did post on the Sitemesh users list.  I haven't heard anything back yet.
This list is much more active than the sitemesh list.

Shawn

On 2/27/07, Simon Kitching <si...@rhe.co.nz> wrote:
>
> Well I guess you'll have to look at the source-code for the Sitemesh
> PageFilter then, or ask on the Sitemesh list. The problem is clearly
> that JSF-specific JSP tags are being executed but not within the scope
> of a FacesServlet. That's not a MyFaces problem, so unfortunately you're
> not likely to get much further help on this list.
>
> However if you do get this figured out it would be great if you could
> post the solution here (or add a page to the wiki) for anyone who
> encounters this in the future.
>
> Regards,
>
> Simon
>
> Garner Shawn wrote:
> > I tried this and it didn't work but am unsure why:
> >
> > "ExternalContext.dispatch to execute the jsp servlet for processing its
> > template so maybe it's just as simple as ensuring the decorators file
> > for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
> > files, in order to trigger the FacesServlet rather than just the
> > jsp-handler servlet?"
> >
> > I got close by overriding the sitemesh filter and then doing a
> > chain.filter before calling the sitmesh filter.  It rendered the page
> > ok (not right) but it rendered the original page being decorated
> > twice.  Once at the beginning and then once later where it should have
> > been in the page.
> >
> >
> > Shawn
> > On 2/27/07, Simon Kitching <si...@rhe.co.nz> wrote:
> >> The project I am currently working on uses Sitemesh with MyFaces, ie the
> >> pages being *decorated* are JSF and it works. However the templates
> >> themselves will need to be JSP only (not JSF) I believe; that's
> >> certainly what we do.
> >>
> >> In order for a JSP page containing JSF tags to work correctly, the JSF
> >> FacesServlet must handle it. The FacesServlet sets up some JSF
> >> infrastructure  on entry, then executes the JSP page (using
> >> ExternalContext.dispatch). When JSF-specific tags execute the necessary
> >> JSF infrastructure is therefore present. However on completion of the
> >> servlet that infrastructure is destroyed by the FacesServlet.
> >>
> >> What the sitemesh *filter* does is initially pass the incoming request
> >> through without change so the primary "decorated" page is fetched, then
> >> it determines what decorator template to use and processes that
> >> *itself*. Sitemesh sets up the environment for its template to be
> >> correctly processed as jsp, but is not smart enough to set up the
> >> necessary environment for any JSF tags to execute successfully. And as
> >> described above the JSF-specific environment was set up on FacesServlet
> >> entry, but removed on FacesServlet exit so it is no longer available.
> >>
> >> We work around that somewhat by defining a custom "proxyInclude" tag
> >> which uses commons-httpclient to make requests. This tag can then be
> >> embedded into a Sitemesh template to insert JSF-generated data (in
> >> particular, a common header including a JsCookMenu menubar).
> >>
> >> Maybe the Sitemesh PageFilter could be improved to be JSF-aware but we
> >> haven't done that. Hmm..presumably the PageFilter does something like
> >> ExternalContext.dispatch to execute the jsp servlet for processing its
> >> template so maybe it's just as simple as ensuring the decorators file
> >> for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
> >> files, in order to trigger the FacesServlet rather than just the
> >> jsp-handler servlet?
> >>
> >> Regards,
> >>
> >> Simon
> >>
> >>
> >> Ricardo Tercero Lozano wrote:
> >> > As far as I know you cannot use JSF in Sitemesh decorators.
> >> >
> >> > Ricardo.
> >> >
> >> >
> >> > On 2/26/07, *Garner Shawn* <shawndgarner@gmail.com
> >> > <ma...@gmail.com>> wrote:
> >> >
> >> >     I'm trying to use sitmesh with JSF and am getting the following
> >> >     exception:
> >> >     This is my template decorator page and has a f:view page.
> >> >     Is there something I have to do with this to initialize the
> >> >     FacesContext for the decorators/templates?
> >> >
> >> >
> >> >     javax.faces.FacesException: Faces context not found.
> >> getResponseWriter
> >> >     will fail. Check if the FacesServlet has been initialized at all in
> >> >     your web.xml configuration fileand if you are accessing your
> >> jsf-pages
> >> >     through the correct mapping. E.g.: if your FacesServlet is
> >> mapped to
> >> >     *.jsf (with the <servlet-mapping>-element), you need to access your
> >> >     pages as 'sample.jsf'. If you tried to access 'sample.jsp',
> >> you'd get
> >> >     this error-message.
> >> >            javax.faces.webapp.UIComponentTag.setupResponseWriter
> >> >     (UIComponentTag.java:926)
> >> >
> >> >
> >> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
> >> >
> >> >     org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
> >> >
> >> >     org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
> >> >     (andreasTemplate_jsp.java:146)
> >> >
> >> >
> >> org.apache.jsp.decorators.andreasTemplate_jsp._jspService(andreasTemplate_jsp.java:122)
> >>
> >> >
> >> >     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >> >            javax.servlet.http.HttpServlet.service
> >> (HttpServlet.java:802)
> >> >
> >> >
> >> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> >>
> >> >
> >> >
> >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >> >            org.apache.jasper.servlet.JspServlet.service
> >> >     (JspServlet.java:264)
> >> >            javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >> >
> >> >
> >> com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(TemplateFilterImpl.java:49)
> >>
> >> >            com.opensymphony.module.sitemesh.filter.PageFilter.doFilter
> >> >     (PageFilter.java:62)
> >> >
> >> >
> >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
> >>
> >> >
> >> >
> >>
> >>
>
>

Re: sitemesh and jsf

Posted by Simon Kitching <si...@rhe.co.nz>.
Well I guess you'll have to look at the source-code for the Sitemesh 
PageFilter then, or ask on the Sitemesh list. The problem is clearly 
that JSF-specific JSP tags are being executed but not within the scope 
of a FacesServlet. That's not a MyFaces problem, so unfortunately you're 
not likely to get much further help on this list.

However if you do get this figured out it would be great if you could 
post the solution here (or add a page to the wiki) for anyone who 
encounters this in the future.

Regards,

Simon

Garner Shawn wrote:
> I tried this and it didn't work but am unsure why:
> 
> "ExternalContext.dispatch to execute the jsp servlet for processing its
> template so maybe it's just as simple as ensuring the decorators file
> for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
> files, in order to trigger the FacesServlet rather than just the
> jsp-handler servlet?"
> 
> I got close by overriding the sitemesh filter and then doing a
> chain.filter before calling the sitmesh filter.  It rendered the page
> ok (not right) but it rendered the original page being decorated
> twice.  Once at the beginning and then once later where it should have
> been in the page.
> 
> 
> Shawn
> On 2/27/07, Simon Kitching <si...@rhe.co.nz> wrote:
>> The project I am currently working on uses Sitemesh with MyFaces, ie the
>> pages being *decorated* are JSF and it works. However the templates
>> themselves will need to be JSP only (not JSF) I believe; that's
>> certainly what we do.
>>
>> In order for a JSP page containing JSF tags to work correctly, the JSF
>> FacesServlet must handle it. The FacesServlet sets up some JSF
>> infrastructure  on entry, then executes the JSP page (using
>> ExternalContext.dispatch). When JSF-specific tags execute the necessary
>> JSF infrastructure is therefore present. However on completion of the
>> servlet that infrastructure is destroyed by the FacesServlet.
>>
>> What the sitemesh *filter* does is initially pass the incoming request
>> through without change so the primary "decorated" page is fetched, then
>> it determines what decorator template to use and processes that
>> *itself*. Sitemesh sets up the environment for its template to be
>> correctly processed as jsp, but is not smart enough to set up the
>> necessary environment for any JSF tags to execute successfully. And as
>> described above the JSF-specific environment was set up on FacesServlet
>> entry, but removed on FacesServlet exit so it is no longer available.
>>
>> We work around that somewhat by defining a custom "proxyInclude" tag
>> which uses commons-httpclient to make requests. This tag can then be
>> embedded into a Sitemesh template to insert JSF-generated data (in
>> particular, a common header including a JsCookMenu menubar).
>>
>> Maybe the Sitemesh PageFilter could be improved to be JSF-aware but we
>> haven't done that. Hmm..presumably the PageFilter does something like
>> ExternalContext.dispatch to execute the jsp servlet for processing its
>> template so maybe it's just as simple as ensuring the decorators file
>> for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
>> files, in order to trigger the FacesServlet rather than just the
>> jsp-handler servlet?
>>
>> Regards,
>>
>> Simon
>>
>>
>> Ricardo Tercero Lozano wrote:
>> > As far as I know you cannot use JSF in Sitemesh decorators.
>> >
>> > Ricardo.
>> >
>> >
>> > On 2/26/07, *Garner Shawn* <shawndgarner@gmail.com
>> > <ma...@gmail.com>> wrote:
>> >
>> >     I'm trying to use sitmesh with JSF and am getting the following
>> >     exception:
>> >     This is my template decorator page and has a f:view page.
>> >     Is there something I have to do with this to initialize the
>> >     FacesContext for the decorators/templates?
>> >
>> >
>> >     javax.faces.FacesException: Faces context not found. 
>> getResponseWriter
>> >     will fail. Check if the FacesServlet has been initialized at all in
>> >     your web.xml configuration fileand if you are accessing your 
>> jsf-pages
>> >     through the correct mapping. E.g.: if your FacesServlet is 
>> mapped to
>> >     *.jsf (with the <servlet-mapping>-element), you need to access your
>> >     pages as 'sample.jsf'. If you tried to access 'sample.jsp', 
>> you'd get
>> >     this error-message.
>> >            javax.faces.webapp.UIComponentTag.setupResponseWriter
>> >     (UIComponentTag.java:926)
>> >
>> >     
>> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
>> >
>> >     org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
>> >
>> >     org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
>> >     (andreasTemplate_jsp.java:146)
>> >
>> >     
>> org.apache.jsp.decorators.andreasTemplate_jsp._jspService(andreasTemplate_jsp.java:122) 
>>
>> >
>> >     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>> >            javax.servlet.http.HttpServlet.service 
>> (HttpServlet.java:802)
>> >
>> >     
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 
>>
>> >
>> >     
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>> >            org.apache.jasper.servlet.JspServlet.service
>> >     (JspServlet.java:264)
>> >            javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>> >
>> >     
>> com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(TemplateFilterImpl.java:49) 
>>
>> >            com.opensymphony.module.sitemesh.filter.PageFilter.doFilter
>> >     (PageFilter.java:62)
>> >
>> >     
>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144) 
>>
>> >
>> >
>>
>>


Re: sitemesh and jsf

Posted by Garner Shawn <sh...@gmail.com>.
I tried this and it didn't work but am unsure why:

"ExternalContext.dispatch to execute the jsp servlet for processing its
template so maybe it's just as simple as ensuring the decorators file
for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
files, in order to trigger the FacesServlet rather than just the
jsp-handler servlet?"

I got close by overriding the sitemesh filter and then doing a
chain.filter before calling the sitmesh filter.  It rendered the page
ok (not right) but it rendered the original page being decorated
twice.  Once at the beginning and then once later where it should have
been in the page.


Shawn
On 2/27/07, Simon Kitching <si...@rhe.co.nz> wrote:
> The project I am currently working on uses Sitemesh with MyFaces, ie the
> pages being *decorated* are JSF and it works. However the templates
> themselves will need to be JSP only (not JSF) I believe; that's
> certainly what we do.
>
> In order for a JSP page containing JSF tags to work correctly, the JSF
> FacesServlet must handle it. The FacesServlet sets up some JSF
> infrastructure  on entry, then executes the JSP page (using
> ExternalContext.dispatch). When JSF-specific tags execute the necessary
> JSF infrastructure is therefore present. However on completion of the
> servlet that infrastructure is destroyed by the FacesServlet.
>
> What the sitemesh *filter* does is initially pass the incoming request
> through without change so the primary "decorated" page is fetched, then
> it determines what decorator template to use and processes that
> *itself*. Sitemesh sets up the environment for its template to be
> correctly processed as jsp, but is not smart enough to set up the
> necessary environment for any JSF tags to execute successfully. And as
> described above the JSF-specific environment was set up on FacesServlet
> entry, but removed on FacesServlet exit so it is no longer available.
>
> We work around that somewhat by defining a custom "proxyInclude" tag
> which uses commons-httpclient to make requests. This tag can then be
> embedded into a Sitemesh template to insert JSF-generated data (in
> particular, a common header including a JsCookMenu menubar).
>
> Maybe the Sitemesh PageFilter could be improved to be JSF-aware but we
> haven't done that. Hmm..presumably the PageFilter does something like
> ExternalContext.dispatch to execute the jsp servlet for processing its
> template so maybe it's just as simple as ensuring the decorators file
> for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template
> files, in order to trigger the FacesServlet rather than just the
> jsp-handler servlet?
>
> Regards,
>
> Simon
>
>
> Ricardo Tercero Lozano wrote:
> > As far as I know you cannot use JSF in Sitemesh decorators.
> >
> > Ricardo.
> >
> >
> > On 2/26/07, *Garner Shawn* <shawndgarner@gmail.com
> > <ma...@gmail.com>> wrote:
> >
> >     I'm trying to use sitmesh with JSF and am getting the following
> >     exception:
> >     This is my template decorator page and has a f:view page.
> >     Is there something I have to do with this to initialize the
> >     FacesContext for the decorators/templates?
> >
> >
> >     javax.faces.FacesException: Faces context not found. getResponseWriter
> >     will fail. Check if the FacesServlet has been initialized at all in
> >     your web.xml configuration fileand if you are accessing your jsf-pages
> >     through the correct mapping. E.g.: if your FacesServlet is mapped to
> >     *.jsf (with the <servlet-mapping>-element), you need to access your
> >     pages as 'sample.jsf'. If you tried to access 'sample.jsp', you'd get
> >     this error-message.
> >            javax.faces.webapp.UIComponentTag.setupResponseWriter
> >     (UIComponentTag.java:926)
> >
> >     javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
> >
> >     org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
> >
> >     org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
> >     (andreasTemplate_jsp.java:146)
> >
> >     org.apache.jsp.decorators.andreasTemplate_jsp._jspService(andreasTemplate_jsp.java:122)
> >
> >     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >            javax.servlet.http.HttpServlet.service (HttpServlet.java:802)
> >
> >     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> >
> >     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >            org.apache.jasper.servlet.JspServlet.service
> >     (JspServlet.java:264)
> >            javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >
> >     com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(TemplateFilterImpl.java:49)
> >            com.opensymphony.module.sitemesh.filter.PageFilter.doFilter
> >     (PageFilter.java:62)
> >
> >     org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
> >
> >
>
>

Re: sitemesh and jsf

Posted by Simon Kitching <si...@rhe.co.nz>.
The project I am currently working on uses Sitemesh with MyFaces, ie the 
pages being *decorated* are JSF and it works. However the templates 
themselves will need to be JSP only (not JSF) I believe; that's 
certainly what we do.

In order for a JSP page containing JSF tags to work correctly, the JSF 
FacesServlet must handle it. The FacesServlet sets up some JSF 
infrastructure  on entry, then executes the JSP page (using 
ExternalContext.dispatch). When JSF-specific tags execute the necessary 
JSF infrastructure is therefore present. However on completion of the 
servlet that infrastructure is destroyed by the FacesServlet.

What the sitemesh *filter* does is initially pass the incoming request 
through without change so the primary "decorated" page is fetched, then 
it determines what decorator template to use and processes that 
*itself*. Sitemesh sets up the environment for its template to be 
correctly processed as jsp, but is not smart enough to set up the 
necessary environment for any JSF tags to execute successfully. And as 
described above the JSF-specific environment was set up on FacesServlet 
entry, but removed on FacesServlet exit so it is no longer available.

We work around that somewhat by defining a custom "proxyInclude" tag 
which uses commons-httpclient to make requests. This tag can then be 
embedded into a Sitemesh template to insert JSF-generated data (in 
particular, a common header including a JsCookMenu menubar).

Maybe the Sitemesh PageFilter could be improved to be JSF-aware but we 
haven't done that. Hmm..presumably the PageFilter does something like 
ExternalContext.dispatch to execute the jsp servlet for processing its 
template so maybe it's just as simple as ensuring the decorators file 
for Sitemesh uses ".jsf" urls rather than ".jsp" urls to its template 
files, in order to trigger the FacesServlet rather than just the 
jsp-handler servlet?

Regards,

Simon


Ricardo Tercero Lozano wrote:
> As far as I know you cannot use JSF in Sitemesh decorators.
> 
> Ricardo.
> 
> 
> On 2/26/07, *Garner Shawn* <shawndgarner@gmail.com 
> <ma...@gmail.com>> wrote:
> 
>     I'm trying to use sitmesh with JSF and am getting the following
>     exception:
>     This is my template decorator page and has a f:view page.
>     Is there something I have to do with this to initialize the
>     FacesContext for the decorators/templates?
> 
> 
>     javax.faces.FacesException: Faces context not found. getResponseWriter
>     will fail. Check if the FacesServlet has been initialized at all in
>     your web.xml configuration fileand if you are accessing your jsf-pages
>     through the correct mapping. E.g.: if your FacesServlet is mapped to
>     *.jsf (with the <servlet-mapping>-element), you need to access your
>     pages as 'sample.jsf'. If you tried to access 'sample.jsp', you'd get
>     this error-message.
>            javax.faces.webapp.UIComponentTag.setupResponseWriter
>     (UIComponentTag.java:926)
>           
>     javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:313)
>           
>     org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
>           
>     org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
>     (andreasTemplate_jsp.java:146)
>           
>     org.apache.jsp.decorators.andreasTemplate_jsp._jspService(andreasTemplate_jsp.java:122)
>           
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>            javax.servlet.http.HttpServlet.service (HttpServlet.java:802)
>           
>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>           
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>            org.apache.jasper.servlet.JspServlet.service
>     (JspServlet.java:264)
>            javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>           
>     com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(TemplateFilterImpl.java:49)
>            com.opensymphony.module.sitemesh.filter.PageFilter.doFilter
>     (PageFilter.java:62)
>           
>     org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
> 
> 


Re: sitemesh and jsf

Posted by Ricardo Tercero Lozano <rt...@gmail.com>.
As far as I know you cannot use JSF in Sitemesh decorators.

Ricardo.


On 2/26/07, Garner Shawn <sh...@gmail.com> wrote:
>
> I'm trying to use sitmesh with JSF and am getting the following exception:
> This is my template decorator page and has a f:view page.
> Is there something I have to do with this to initialize the
> FacesContext for the decorators/templates?
>
>
> javax.faces.FacesException: Faces context not found. getResponseWriter
> will fail. Check if the FacesServlet has been initialized at all in
> your web.xml configuration fileand if you are accessing your jsf-pages
> through the correct mapping. E.g.: if your FacesServlet is mapped to
> *.jsf (with the <servlet-mapping>-element), you need to access your
> pages as 'sample.jsf'. If you tried to access 'sample.jsp', you'd get
> this error-message.
>        javax.faces.webapp.UIComponentTag.setupResponseWriter(
> UIComponentTag.java:926)
>        javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java
> :313)
>        org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:73)
>        org.apache.jsp.decorators.andreasTemplate_jsp._jspx_meth_f_view_0
> (andreasTemplate_jsp.java:146)
>        org.apache.jsp.decorators.andreasTemplate_jsp._jspService
> (andreasTemplate_jsp.java:122)
>        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>        org.apache.jasper.servlet.JspServletWrapper.service(
> JspServletWrapper.java:332)
>        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java
> :314)
>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>        com.age.j.soft.sitemesh.TemplateFilterImpl.applyDecorator(
> TemplateFilterImpl.java:49)
>        com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(
> PageFilter.java:62)
>        org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(
> ExtensionsFilter.java:144)
>