myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthias Wessendorf" <maili...@matthias-wessendorf.de>
Subject RE: Update to forceId
Date Fri, 14 Jan 2005 08:14:32 GMT
I included new patch from Sean.

Now it works!
-in *simple* form sample
-in dataTable sample

-Matthias

> -----Original Message-----
> From: Heath Borders [mailto:heath.borders@gmail.com] 
> Sent: Thursday, January 13, 2005 2:56 PM
> To: MyFaces Development
> Subject: Re: Update to forceId
> 
> 
> This is exactly what I would expect would happen inside of a 
> datatable.
> 
> If everything works except for the datatable, I would 
> consider the feature working.
> 
> 
> On Thu, 13 Jan 2005 10:24:07 +0100, Matthias Wessendorf 
> <mailings@matthias-wessendorf.de> wrote:
> > Sean,
> > 
> > I included your patch to CVS.
> > Also I added a editable table to
> > forceId.jsp do demonstrate the rendered forceId
> > inside a table.
> > 
> > Ok, thanks that works (update of dataTable row)
> > 
> > But the forceId-feature is still experimental.
> > I run into error,
> > when I add message tag to forced <x:inputText/>
> > 
> > here is what I did:
> > <x:inputText id="forceTwo" value="#{forceIdBean.valueTwo}" 
> > forceId="true"/> <h:message id="forceTwoMessage" for="forceTwo" 
> > styleClass="error" />
> > 
> > and the error is in LOG file of Tomcat.
> > 
> > here:
> > 2005-01-13 10:07:57 ApplicationDispatcher[/myfaces-examples]
> > Servlet.service() for servlet jsp threw exception
> > java.lang.IllegalArgumentException: Duplicate cliientId not 
> allowed. 
> > View already contains the id: forceTwo
> >        at 
> > 
> org.apache.myfaces.component.html.util.HtmlComponentUtils.getClientId(
> > Ht
> > mlComponentUtils.java:109)
> >        at
> > 
> org.apache.myfaces.component.html.ext.HtmlInputText.getClientI
> d(HtmlInpu
> > tText.java:54)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlMessageRendererBase.rend
> erMessage(
> > HtmlMessageRendererBase.java:102)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlMessageRenderer.encodeEn
> d(HtmlMess
> > ageRenderer.java:53)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:446)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlGridRenderer.renderChild
> ren(HtmlGr
> > idRenderer.java:253)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlGridRenderer.encodeEnd(H
> tmlGridRen
> > derer.java:131)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:446)
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(Rend
> ererUtils.
> > java:423)
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:444)
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(Rend
> ererUtils.
> > java:423)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlGroupRenderer.encodeEnd(
> HtmlGroupR
> > enderer.java:73)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:446)
> >        at
> > 
> org.apache.myfaces.custom.layout.HtmlLayoutRenderer.renderTabl
> eCell(Html
> > LayoutRenderer.java:259)
> >        at
> > 
> org.apache.myfaces.custom.layout.HtmlLayoutRenderer.renderClas
> sic(HtmlLa
> > youtRenderer.java:118)
> >        at
> > 
> org.apache.myfaces.custom.layout.HtmlLayoutRenderer.encodeEnd(
> HtmlLayout
> > Renderer.java:66)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:376)
> >        at
> > javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:280)
> >        at
> > 
> org.apache.myfaces.taglib.UIComponentBodyTagBase.doEndTag(UICo
> mponentBod
> > yTagBase.java:85)
> >        at
> > 
> org.apache.jsp.forceId_jsp._jspx_meth_x_panelLayout_0(forceId_
> jsp.java:2
> > 91)
> >        at
> > org.apache.jsp.forceId_jsp._jspx_meth_f_view_0(forceId_jsp.java:196)
> >        at 
> org.apache.jsp.forceId_jsp._jspService(forceId_jsp.java:151)
> >        at
> > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
> >        at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >        at
> > 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.ja
> > va:324)
> >        at
> > 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:292)
> >        at
> > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> >        at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatc
> > her.java:704)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(
> Applicatio
> > nDispatcher.java:474)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDisp
> > atcher.java:409)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispat
> > cher.java:312)
> >        at
> > 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.
> dispatch(S
> > ervletExternalContextImpl.java:404)
> >        at
> > 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderVi
> ew(JspView
> > HandlerImpl.java:244)
> >        at
> > 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImp
> l.java:290
> > )
> >        at
> > javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilt
> er(Extensi
> > onsFilter.java:119)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:186)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValv
> > e.java:214)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invokeInternal(S
> tandardCon
> > textValve.java:198)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValv
> > e.java:152)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java
> > :137)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java
> > :118)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:102)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.
> > java:109)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> >        at
> > 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.
> java:160)
> >        at
> > 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:79
> > 9)
> >        at
> > 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processC
> > onnection(Http11Protocol.java:705)
> >        at
> > 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:57
> > 7)
> >        at
> > 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool
> > .java:683)
> >        at java.lang.Thread.run(Thread.java:534)
> > 
> > 2005-01-13 10:07:57 StandardContext[/myfaces-examples]Duplicate
> > cliientId not allowed.  View already contains the id: forceTwo
> > javax.faces.FacesException: Duplicate cliientId not allowed.  View 
> > already contains the id: forceTwo
> >        at 
> > 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch
> > (S
> > ervletExternalContextImpl.java:410)
> >        at
> > 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderVi
> ew(JspView
> > HandlerImpl.java:244)
> >        at
> > 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImp
> l.java:290
> > )
> >        at
> > javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilt
> er(Extensi
> > onsFilter.java:119)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:186)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValv
> > e.java:214)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invokeInternal(S
> tandardCon
> > textValve.java:198)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValv
> > e.java:152)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java
> > :137)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java
> > :118)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:102)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.
> > java:109)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> >        at
> > 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.
> java:160)
> >        at
> > 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:79
> > 9)
> >        at
> > 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processC
> > onnection(Http11Protocol.java:705)
> >        at
> > 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:57
> > 7)
> >        at
> > 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool
> > .java:683)
> >        at java.lang.Thread.run(Thread.java:534)
> > Caused by: org.apache.jasper.JasperException: Duplicate 
> cliientId not
> > allowed.  View already contains the id: forceTwo
> >        at
> > 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.ja
> > va:372)
> >        at
> > 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:292)
> >        at
> > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> >        at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatc
> > her.java:704)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(
> Applicatio
> > nDispatcher.java:474)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDisp
> > atcher.java:409)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispat
> > cher.java:312)
> >        at
> > 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.
> dispatch(S
> > ervletExternalContextImpl.java:404)
> >        ... 30 more
> > 
> > 2005-01-13 10:07:57 StandardContext[/myfaces-examples]Root cause: 
> > Duplicate cliientId not allowed.  View already contains the id: 
> > forceTwo
> > org.apache.jasper.JasperException: Duplicate cliientId not allowed.
> > View already contains the id: forceTwo
> >        at
> > 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.ja
> > va:372)
> >        at
> > 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:292)
> >        at
> > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> >        at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatc
> > her.java:704)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(
> Applicatio
> > nDispatcher.java:474)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDisp
> > atcher.java:409)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispat
> > cher.java:312)
> >        at
> > 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.
> dispatch(S
> > ervletExternalContextImpl.java:404)
> >        at
> > 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderVi
> ew(JspView
> > HandlerImpl.java:244)
> >        at
> > 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImp
> l.java:290
> > )
> >        at
> > javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilt
> er(Extensi
> > onsFilter.java:119)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:186)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValv
> > e.java:214)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invokeInternal(S
> tandardCon
> > textValve.java:198)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValv
> > e.java:152)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java
> > :137)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java
> > :118)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:102)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.
> > java:109)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> >        at
> > 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.
> java:160)
> >        at
> > 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:79
> > 9)
> >        at
> > 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processC
> > onnection(Http11Protocol.java:705)
> >        at
> > 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:57
> > 7)
> >        at
> > 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool
> > .java:683)
> >        at java.lang.Thread.run(Thread.java:534)
> > ----- Root Cause -----
> > java.lang.IllegalArgumentException: Duplicate cliientId not allowed.
> > View already contains the id: forceTwo
> >        at
> > 
> org.apache.myfaces.component.html.util.HtmlComponentUtils.getC
> lientId(Ht
> > mlComponentUtils.java:109)
> >        at
> > 
> org.apache.myfaces.component.html.ext.HtmlInputText.getClientI
> d(HtmlInpu
> > tText.java:54)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlMessageRendererBase.rend
> erMessage(
> > HtmlMessageRendererBase.java:102)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlMessageRenderer.encodeEn
> d(HtmlMess
> > ageRenderer.java:53)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:446)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlGridRenderer.renderChild
> ren(HtmlGr
> > idRenderer.java:253)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlGridRenderer.encodeEnd(H
> tmlGridRen
> > derer.java:131)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:446)
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(Rend
> ererUtils.
> > java:423)
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:444)
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(Rend
> ererUtils.
> > java:423)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlGroupRenderer.encodeEnd(
> HtmlGroupR
> > enderer.java:73)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:446)
> >        at
> > 
> org.apache.myfaces.custom.layout.HtmlLayoutRenderer.renderTabl
> eCell(Html
> > LayoutRenderer.java:259)
> >        at
> > 
> org.apache.myfaces.custom.layout.HtmlLayoutRenderer.renderClas
> sic(HtmlLa
> > youtRenderer.java:118)
> >        at
> > 
> org.apache.myfaces.custom.layout.HtmlLayoutRenderer.encodeEnd(
> HtmlLayout
> > Renderer.java:66)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:376)
> >        at
> > javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:280)
> >        at
> > 
> org.apache.myfaces.taglib.UIComponentBodyTagBase.doEndTag(UICo
> mponentBod
> > yTagBase.java:85)
> >        at
> > 
> org.apache.jsp.forceId_jsp._jspx_meth_x_panelLayout_0(forceId_
> jsp.java:2
> > 91)
> >        at
> > org.apache.jsp.forceId_jsp._jspx_meth_f_view_0(forceId_jsp.java:196)
> >        at 
> org.apache.jsp.forceId_jsp._jspService(forceId_jsp.java:151)
> >        at
> > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
> >        at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >        at
> > 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.ja
> > va:324)
> >        at
> > 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:292)
> >        at
> > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> >        at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatc
> > her.java:704)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(
> Applicatio
> > nDispatcher.java:474)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDisp
> > atcher.java:409)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispat
> > cher.java:312)
> >        at
> > 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.
> dispatch(S
> > ervletExternalContextImpl.java:404)
> >        at
> > 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderVi
> ew(JspView
> > HandlerImpl.java:244)
> >        at
> > 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImp
> l.java:290
> > )
> >        at
> > javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilt
> er(Extensi
> > onsFilter.java:119)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:186)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValv
> > e.java:214)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invokeInternal(S
> tandardCon
> > textValve.java:198)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValv
> > e.java:152)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java
> > :137)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java
> > :118)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:102)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.
> > java:109)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> >        at
> > 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.
> java:160)
> >        at
> > 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:79
> > 9)
> >        at
> > 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processC
> > onnection(Http11Protocol.java:705)
> >        at
> > 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:57
> > 7)
> >        at
> > 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool
> > .java:683)
> >        at java.lang.Thread.run(Thread.java:534)
> > 
> > 2005-01-13 10:07:57 StandardContext[/myfaces-examples]Root cause of
> > ServletException: Duplicate cliientId not allowed.  View already 
> > contains the id: forceTwo
> > java.lang.IllegalArgumentException: Duplicate cliientId not 
> allowed. 
> > View already contains the id: forceTwo
> >        at 
> > 
> org.apache.myfaces.component.html.util.HtmlComponentUtils.getClientId(
> > Ht
> > mlComponentUtils.java:109)
> >        at
> > 
> org.apache.myfaces.component.html.ext.HtmlInputText.getClientI
> d(HtmlInpu
> > tText.java:54)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlMessageRendererBase.rend
> erMessage(
> > HtmlMessageRendererBase.java:102)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlMessageRenderer.encodeEn
> d(HtmlMess
> > ageRenderer.java:53)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:446)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlGridRenderer.renderChild
> ren(HtmlGr
> > idRenderer.java:253)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlGridRenderer.encodeEnd(H
> tmlGridRen
> > derer.java:131)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:446)
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(Rend
> ererUtils.
> > java:423)
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:444)
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(Rend
> ererUtils.
> > java:423)
> >        at
> > 
> org.apache.myfaces.renderkit.html.HtmlGroupRenderer.encodeEnd(
> HtmlGroupR
> > enderer.java:73)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > 
> org.apache.myfaces.renderkit.RendererUtils.renderChild(Rendere
> rUtils.jav
> > a:446)
> >        at
> > 
> org.apache.myfaces.custom.layout.HtmlLayoutRenderer.renderTabl
> eCell(Html
> > LayoutRenderer.java:259)
> >        at
> > 
> org.apache.myfaces.custom.layout.HtmlLayoutRenderer.renderClas
> sic(HtmlLa
> > youtRenderer.java:118)
> >        at
> > 
> org.apache.myfaces.custom.layout.HtmlLayoutRenderer.encodeEnd(
> HtmlLayout
> > Renderer.java:66)
> >        at
> > 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBas
> e.java:332
> > )
> >        at
> > javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:376)
> >        at
> > javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:280)
> >        at
> > 
> org.apache.myfaces.taglib.UIComponentBodyTagBase.doEndTag(UICo
> mponentBod
> > yTagBase.java:85)
> >        at
> > 
> org.apache.jsp.forceId_jsp._jspx_meth_x_panelLayout_0(forceId_
> jsp.java:2
> > 91)
> >        at
> > org.apache.jsp.forceId_jsp._jspx_meth_f_view_0(forceId_jsp.java:196)
> >        at 
> org.apache.jsp.forceId_jsp._jspService(forceId_jsp.java:151)
> >        at
> > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
> >        at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >        at
> > 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.ja
> > va:324)
> >        at
> > 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:292)
> >        at
> > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> >        at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatc
> > her.java:704)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(
> Applicatio
> > nDispatcher.java:474)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDisp
> > atcher.java:409)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispat
> > cher.java:312)
> >        at
> > 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.
> dispatch(S
> > ervletExternalContextImpl.java:404)
> >        at
> > 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderVi
> ew(JspView
> > HandlerImpl.java:244)
> >        at
> > 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImp
> l.java:290
> > )
> >        at
> > javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilt
> er(Extensi
> > onsFilter.java:119)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:186)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValv
> > e.java:214)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invokeInternal(S
> tandardCon
> > textValve.java:198)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValv
> > e.java:152)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java
> > :137)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java
> > :118)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:102)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.
> > java:109)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> >        at
> > 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.
> java:160)
> >        at
> > 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:79
> > 9)
> >        at
> > 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processC
> > onnection(Http11Protocol.java:705)
> >        at
> > 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:57
> > 7)
> >        at
> > 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool
> > .java:683)
> >        at java.lang.Thread.run(Thread.java:534)
> > 
> > 2005-01-13 10:07:57 StandardWrapperValve[Faces Servlet]:
> > Servlet.service() for servlet Faces Servlet threw exception
> > javax.faces.FacesException: Duplicate cliientId not allowed.  View 
> > already contains the id: forceTwo
> >        at 
> > 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch
> > (S
> > ervletExternalContextImpl.java:410)
> >        at
> > 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderVi
> ew(JspView
> > HandlerImpl.java:244)
> >        at
> > 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImp
> l.java:290
> > )
> >        at
> > javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilt
> er(Extensi
> > onsFilter.java:119)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:186)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValv
> > e.java:214)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invokeInternal(S
> tandardCon
> > textValve.java:198)
> >        at
> > 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValv
> > e.java:152)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java
> > :137)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java
> > :118)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:102)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.
> > java:109)
> >        at
> > 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveCo
> > ntext.java:104)
> >        at
> > 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:5
> > 20)
> >        at
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> >        at
> > 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.
> java:160)
> >        at
> > 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:79
> > 9)
> >        at
> > 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processC
> > onnection(Http11Protocol.java:705)
> >        at
> > 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:57
> > 7)
> >        at
> > 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool
> > .java:683)
> >        at java.lang.Thread.run(Thread.java:534)
> > Caused by: org.apache.jasper.JasperException: Duplicate 
> cliientId not
> > allowed.  View already contains the id: forceTwo
> >        at
> > 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.ja
> > va:372)
> >        at
> > 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:292)
> >        at
> > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> >        at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Applica
> > tionFilterChain.java:237)
> >        at
> > 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilt
> > erChain.java:157)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatc
> > her.java:704)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(
> Applicatio
> > nDispatcher.java:474)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDisp
> > atcher.java:409)
> >        at
> > 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispat
> > cher.java:312)
> >        at
> > 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.
> dispatch(S
> > ervletExternalContextImpl.java:404)
> >        ... 30 more
> > 
> > > -----Original Message-----
> > > From: Sean Schofield [mailto:sean.schofield@gmail.com]
> > > Sent: Thursday, January 13, 2005 5:34 AM
> > > To: MyFaces Development
> > > Subject: Update to forceId
> > >
> > >
> > > I updated the forceId attribute for HtmlInputText so now it works 
> > > inside of <h:dataTable>, etc.  The JIRA entry contains 
> the new patch 
> > > (forceId.patch).
> > >
> > > If you have <h:inputText id=foo forceId="true"/> inside of a 
> > > <h:column> you will now get something like ...
> > >
> > > <input id=foo[0] .../>
> > > <input id=foo[1] .../>
> > > <input id=foo[2] .../>
> > > ...
> > >
> > > I haven't tried an example where I submit the values yet 
> but there 
> > > shouldn't be any problem because the same clientId will 
> be used on 
> > > the decode (although I will test it at some point.)
> > >
> > > I will also continue to test more complicated scenarios 
> with naming 
> > > containers (like tables within tables.)  Also, we should probably 
> > > update the forceId example on the web page to show one 
> with tables 
> > > as well.
> > >
> > > sean
> > >
> > 
> > 
> 
> 
> -- 
> -Heath Borders-Wing
> hborders@mail.win.org
> 


Mime
View raw message