myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Łukasz Budnik" <lukasz.bud...@gmail.com>
Subject Re: [Tomahawk] non-unique IDs in <t:tree2 />
Date Wed, 06 Feb 2008 21:51:19 GMT
Hi Andrew,

There is no t2c string in my source codes.

Tell me, what JSTL do You use? I'm using default JSTL shipped with Netbeans 6.0.

Maybe JSTL is causing this error?

best regards
Łukasz

On 06/02/2008, Andrew Robinson <andrew.rw.robinson@gmail.com> wrote:
> As far as I can see, t2c appears nowhere in the myfaces or tomahawk code. It
> seems like it is coming from your code.
>
> What are the results on a grep for t2c in all of your source code?
>
>
>  On Feb 6, 2008 9:22 AM, Łukasz Budnik <lukasz.budnik@gmail.com> wrote:
> > Hi Andrew,
> >
> > I'm using:
> >
> > myfaces-api-1.2.2 and myfaces-impl-1.2.2
> >
> > with:
> >
> >
> > myfaces-shared-tomahawk-3.0.1
> > tomahawk-1.1.7-SNAPSHOT
> >
> > best regards
> > Łukasz
> >
> >
> >
> >
> > On 06/02/2008, Andrew Robinson <andrew.rw.robinson@gmail.com> wrote:
> > > That doesn't make much sense to me as generated IDs are in the form of
> > > "_id##", so t2c is not possible unless you or some code explicitly sets
> it
> > > somewhere. What JSF impl version are you using.
> > >
> > > Also try grepping your code for t2c.
> > >
> > > -Andrew
> > >
> > >
> > > On Feb 5, 2008 4:38 PM, Łukasz Budnik <lukasz.budnik@gmail.com> wrote:
> > > > Hi,
> > > >
> > > > My view code is simply copy & paste from:
> > > > http://www.irian.at/myfacesexamples/tree2.jsp.source
> > > >
> > > > and looks like this:
> > > >
> > > >
> > > > <t:tree2 id="clientTree" value="#{Tree2TestController.treeData}"
> > > > var="node" varNodeToggler="t">
> > > >                    <f:facet name="person">
> > > >                        <h:panelGroup>
> > > >                            <f:facet name="expand">
> > > >                                <t:graphicImage
> > > > value="/images/tomahawk/yellow-folder-open.png"
> > > > rendered="#{t.nodeExpanded}" border="0"/>
> > > >                            </f:facet>
> > > >                            <f:facet name="collapse">
> > > >                                <t:graphicImage
> > > > value="/images/tomahawk/yellow-folder-closed.png"
> > > > rendered="#{!t.nodeExpanded}" border="0"/>
> > > >                            </f:facet>
> > > >                            <h:outputText value="#{node.description}"
> > > > styleClass="nodeFolder"/>
> > > >                        </h:panelGroup>
> > > >                    </f:facet>
> > > >                    <f:facet name="foo-folder">
> > > >                        <h:panelGroup>
> > > >                            <f:facet name="expand">
> > > >                                <t:graphicImage
> > > > value="/images/tomahawk/yellow-folder-open.png"
> > > > rendered="#{t.nodeExpanded}" border="0"/>
> > > >                            </f:facet>
> > > >                            <f:facet name="collapse">
> > > >                                <t:graphicImage
> > > > value="/images/tomahawk/yellow-folder-closed.png"
> > > > rendered="#{!t.nodeExpanded}" border="0"/>
> > > >                            </f:facet>
> > > >                            <h:outputText value="#{node.description}"
> > > > styleClass="nodeFolder"/>
> > > >                            <h:outputText value="
> > > > (#{node.childCount})" styleClass="childCount" rendered="#{!empty
> > > > node.children}"/>
> > > >                        </h:panelGroup>
> > > >                    </f:facet>
> > > >                    <f:facet name="bar-folder">
> > > >                        <h:panelGroup>
> > > >                            <f:facet name="expand">
> > > >                                <t:graphicImage
> > > > value="/images/tomahawk/blue-folder-open.gif"
> > > > rendered="#{t.nodeExpanded}" border="0"/>
> > > >                            </f:facet>
> > > >                            <f:facet name="collapse">
> > > >                                <t:graphicImage
> > > > value="/images/tomahawk/blue-folder-closed.png"
> > > > rendered="#{!t.nodeExpanded}" border="0"/>
> > > >                            </f:facet>
> > > >                            <h:outputText value="#{node.description}"
> > > > styleClass="nodeFolder"/>
> > > >                            <h:outputText value="
> > > > (#{node.childCount})" styleClass="childCount" rendered="#{!empty
> > > > node.children}"/>
> > > >                        </h:panelGroup>
> > > >                    </f:facet>
> > > >                    <f:facet name="document">
> > > >                        <h:panelGroup>
> > > >                            <h:commandLink immediate="true"
> > > > styleClass="#{t.nodeSelected ? 'documentSelected':'document'}"
> > > > actionListener="#{t.setNodeSelected}">
> > > >                                <t:graphicImage
> > > > value="/images/tomahawk/document.png" border="0"/>
> > > >                                <h:outputText
> value="#{node.description}"/>
> > > >                                <f:param name="docNum"
> > > > value="#{node.identifier}"/>
> > > >                            </h:commandLink>
> > > >                        </h:panelGroup>
> > > >                    </f:facet>
> > > >                </t:tree2>
> > > >
> > > >
> > > >
> > > >
> > > > best regards
> > > > Łukasz
> > > >
> > > > On 05/02/2008, Andrew Robinson <andrew.rw.robinson@gmail.com> wrote:
> > > > > Where is the view code?
> > > > >
> > > > >
> > > > > On Feb 5, 2008 12:08 PM, Łukasz Budnik <lukasz.budnik@gmail.com>
> wrote:
> > > > > > Sorry,
> > > > > >
> > > > > > this is full stack trace, the id treeForm:clientTree:t2c is
> repeated 3
> > > > > > times (I have highlighted it):
> > > > > >
> > > > > >
> > > > > > javax.servlet.ServletException: Component ID
> treeForm:clientTree:t2c
> > > > > > has already been found in the view.  See below for details.
> > > > > > +id: j_id_jsp_287013395_0
> > > > > >  type: javax.faces.component.UIViewRoot@11bd9c9
> > > > > >  +id: treeForm
> > > > > >   type:
> javax.faces.component.html.HtmlForm@17748d3
> > > > > >    +id: clientTree
> > > > > >     type:
> > > org.apache.myfaces.custom.tree2.HtmlTree@4e2f0a
> > > > > >
> > > > > >      +id: j_id_jsp_287013395_17
> > > > > >       type:
> > > > > javax.faces.component.html.HtmlPanelGroup@f268de
> > > > > >
> > > > > >        +id: j_id_jsp_287013395_18
> > > > > >         type:
> > > > >
> > >
> org.apache.myfaces.component.html.ext.HtmlGraphicImage@c2cf83
> > > > > >
> > > > > >        +id: j_id_jsp_287013395_19
> > > > > >         type:
> > > > > javax.faces.component.html.HtmlOutputText@1c5af2e
> > > > > >        +id: j_id_jsp_287013395_20
> > > > > >         type:
> > > javax.faces.component.UIParameter@1702c48
> > > > > >      +id: j_id_jsp_287013395_3
> > > > > >       type:
> > > > > javax.faces.component.html.HtmlPanelGroup@16b6c55
> > > > > >        +id: j_id_jsp_287013395_4
> > > > > >         type:
> > > > >
> > >
> org.apache.myfaces.component.html.ext.HtmlGraphicImage@1954f89
> > > > > >        +id: t2c
> > > > > >         type:
> > > > >
> > >
> org.apache.myfaces.component.html.ext.HtmlGraphicImage@198e8b4
> > > > > >
> > > > > > ^^^^^^^^^^^^^^
> > > > > >
> > > > > >        +id: j_id_jsp_287013395_6
> > > > > >         type:
> > > > > javax.faces.component.html.HtmlOutputText@1d5b89c
> > > > > >      +id: j_id_jsp_287013395_12
> > > > > >       type:
> > > > > javax.faces.component.html.HtmlPanelGroup@4b0bbb
> > > > > >        +id: j_id_jsp_287013395_13
> > > > > >         type:
> > > > >
> > >
> org.apache.myfaces.component.html.ext.HtmlGraphicImage@ef4504
> > > > > >        +id: t2c
> > > > > >         type:
> > > > >
> > >
> org.apache.myfaces.component.html.ext.HtmlGraphicImage@9c176c
> > > > > >
> > > > > > ^^^^^^^^^^^^^^
> > > > > >
> > > > > >        +id: j_id_jsp_287013395_15
> > > > > >         type:
> > > > > javax.faces.component.html.HtmlOutputText@1c5ddd3
> > > > > >        +id: j_id_jsp_287013395_16
> > > > > >         type:
> > > > > javax.faces.component.html.HtmlOutputText@1664a9b
> > > > > >      +id: j_id_jsp_287013395_7
> > > > > >       type:
> > > > > javax.faces.component.html.HtmlPanelGroup@ac06d4
> > > > > >        +id: j_id_jsp_287013395_8
> > > > > >         type:
> > > > >
> > >
> org.apache.myfaces.component.html.ext.HtmlGraphicImage@1f47ae8
> > > > > >        +id: t2c
> > > > > >         type:
> > > > >
> > >
> org.apache.myfaces.component.html.ext.HtmlGraphicImage@1b11b79
> > > > > >
> > > > > > ^^^^^^^^^^^^^^
> > > > > >
> > > > > >        +id: j_id_jsp_287013395_10
> > > > > >         type:
> > > > > javax.faces.component.html.HtmlOutputText@82d603
> > > > > >        +id: j_id_jsp_287013395_11
> > > > > >         type:
> > > > > javax.faces.component.html.HtmlOutputText@1b09282
> > > > > >
> > > > > >
> > > > >
> > >
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
> > > > > >
> > > > >
> > >
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> > > > > >
> > > > >
> > >
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
> > > > > >
> > > > > > best regards
> > > > > > Łukasz
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > On 05/02/2008, Andrew Robinson <andrew.rw.robinson@gmail.com>
> wrote:
> > > > > > > No this is right. Component IDs in "looping" components
should
> > > always be
> > > > > the
> > > > > > > same. Client IDs change.
> > > > > > >
> > > > > > > Your example doesn't show t2c at all. Look for two components
it
> > > your
> > > > > page
> > > > > > > that are under the tree and have t2c as their ID. Maybe
you
> thought
> > > that
> > > > > two
> > > > > > > components could have the same ID in different facets?
> > > > > > >
> > > > > > >
> > > > > > > On Feb 5, 2008 10:54 AM, Łukasz Budnik <lukasz.budnik@gmail.com>
> > > wrote:
> > > > > > > > Hi All,
> > > > > > > >
> > > > > > > > I'm running a <t:tree2 /> example available
at:
> > > > > > > > http://www.irian.at/myfacesexamples/tree2.jsf
> > > > > > > >
> > > > > > > > And the result is:
> > > > > > > >
> > > > > > > > javax.servlet.ServletException: Component ID
> > > treeForm:clientTree:t2c
> > > > > > > > has already been found in the view.  See below for
details.
> > > > > > > > +id: j_id_jsp_287013395_0
> > > > > > > >  type:
> javax.faces.component.UIViewRoot@ad89ec
> > > > > > > >  +id: treeForm
> > > > > > > >   type:
> > > javax.faces.component.html.HtmlForm@13a0934
> > > > > > > >    +id: clientTree
> > > > > > > >     type:
> > > > > > >
> org.apache.myfaces.custom.tree2.HtmlTree@1324b17
> > > > > > > >      +id: j_id_jsp_287013395_17
> > > > > > > >       type:
> > > > > > >
> javax.faces.component.html.HtmlPanelGroup@e00c09
> > > > > > > >        +id: j_id_jsp_287013395_18
> > > > > > > >         type:
> > > > > > >
> javax.faces.component.html.HtmlCommandLink@1364b53
> > > > > > > >          +id: j_id_jsp_287013395_19
> > > > > > > >           type:
> > > > > > >
> > > > >
> > >
> org.apache.myfaces.component.html.ext.HtmlGraphicImage@18b62e0
> > > > > > > >
> > > > > > > > ... and so on
> > > > > > > >
> > > > > > > > the only id that I have set in my tree.jsp are:
> > > > > > > >
> > > > > > > >
> > > > > > > > <h:form id="treeForm">
> > > > > > > >  <t:tree2 id="clientTree"
> value="#{Tree2TestController.treeData}"
> > > > > > > > var="node" varNodeToggler="t">
> > > > > > > >
> > > > > > > > ...
> > > > > > > >
> > > > > > > > the rest is simply copy and paste from the above mentioned
web
> > > site.
> > > > > > > >
> > > > > > > > I'm using:
> > > > > > > >
> > > > > > > > myfaces-shared-tomahawk-3.0.1
> > > > > > > > tomahawk-1.1.7-SNAPSHOT
> > > > > > > >
> > > > > > > > since all ids should be unique clearly this is...
a bug?
> > > > > > > >
> > > > > > > > best regards
> > > > > > > > Łukasz
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> >
>
>
Mime
View raw message