You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by tony k <to...@sbcglobal.net> on 2005/02/24 06:26:54 UTC

sitemesh + myfaces == exception (sol?)

in going through the myfaces examples,
i shortly noticed that the panelLayout code was repeated in all the 
example pages,
so i'm thinking this looks like a job for sitemesh,
so i put together the following decorator and am receiving the exception 
listed below that.

i don't really grok the finer points of how these two elements interact 
and i was hoping someone could provide some advice such as:

(1) give it up, it just ain't going to work cause of x, y and/or z, or

(2) you ninny, you have to do a,b and/or c to make it work, or

(3) it's a noble cause, but some specific work has to be done to 
sitemesh and/or myfaces to make it work, and it may join a long list of 
such requests

--------------------------
here's the decorator:
--------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<%@ include file="/include/taglibs.jsp"%>

<html>
<body>

<f:view>
    <x:panelLayout id="page" layout="classic" styleClass="pageLayout"
        headerClass="pageHeader" navigationClass="pageNavigation"
        bodyClass="pageBody" footerClass="pageFooter">

        <f:facet name="header">
            <f:subview id="header">
                <f:verbatim>
                    <h3>header</h3>
                </f:verbatim>
            </f:subview>
        </f:facet>

        <f:facet name="navigation">
            <f:subview id="menu">
                <f:verbatim>
                    <h3>header</h3>
                </f:verbatim>
            </f:subview>
        </f:facet>

        <f:facet name="body">
            <f:subview id="menu">
                <f:verbatim>
                    <decorator:body />
                </f:verbatim>
            </f:subview>
        </f:facet>

        <f:facet name="footer">
            <f:subview id="footer">
                <f:verbatim>
                    <h3>footer</h3>
                </f:verbatim>
            </f:subview>
        </f:facet>

    </x:panelLayout>

</f:view>
</body>
</html>

--------------------------
here's the exception:
--------------------------

java.lang.NullPointerException
    at 
javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:634)
    at javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:244)
    at 
net.sourceforge.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:87)
    at 
org.apache.jsp.decorator.decorator_jsp._jspx_meth_f_view_0(org.apache.jsp.decorator.decorator_jsp:109)
    at 
org.apache.jsp.decorator.decorator_jsp._jspService(org.apache.jsp.decorator.decorator_jsp:84)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
    at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:674)
    at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:576)
    at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:501)
    at 
com.opensymphony.module.sitemesh.filter.PageFilter.applyDecorator(PageFilter.java:156)
    at 
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:59)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
    at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
    at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
    at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)