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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 < [EMAIL PROTECTED]> wrote: > > As far as I know you cannot use JSF in Sitemesh decorators. > > > > Ricardo. > > > > > > > > On 2/26/07, Garner Shawn < [EMAIL PROTECTED] > 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