Hi Stefan,

I often got this, if I modified the jsf-file on the server while it is still 
running. Remove the generated java/class files, then it should work. Otherwise 
it is somewhere really a bug...

Regards, 

Stephan with 'ph' :-)

-----Ursprüngliche Nachricht-----
Von: Stefan Puchmann [mailto:[EMAIL PROTECTED] 
Gesendet: Donnerstag, 21. September 2006 16:15
An: MyFaces Discussion
Betreff: Problem with duplicated Ids on t:dataScroller component

Hi @ all,

I'm currently working on the JBoss Portal where i have one portlet in 
which i want to use the dataScroller from tomahawk.
I have real looks great sometimes, but the most time I'm getting one 
exception (duplicated ids in the faces tree - original part of the 
exception is at the end of the mail). I have already tried to declare 
fix ids, but it doesn't matter.

my environment:
JBoss AS 4.0.4.GA
JBoss Portal 2.4
JDK 1.5.0_08
MyFaces 1.1.5-SNAPSHOT
Tomahawk 1.1.5-SNAPSHOT

Any advice would be helpful ...

Thanks,
Stefan

//ManagedBean
public class DummyBean {

    public Collection<String> getDummyEntries(){
        return generateDummyEntries("dummy", 50);
    }
   
    public Collection<String> getOtherDummyEntries(){
        return generateDummyEntries("other", 100);
    }
   
    private Collection<String> generateDummyEntries(String prefix, int 
amount){
        Collection<String> col = new Vector<String>();
       
        for(int i=0; i<amount; i++){
            col.add(prefix+"_"+i);
        }
       
        return col;
    }
}

//JSF Page
<%@ page contentType="text/html" isELIgnored="false"%>
<%@ taglib uri="http://java.sun.com/jsf/html"; prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk"; prefix="t"%>

<f:view>
    <h:form>
        <h:panelGrid columns="2">
            <t:dataTable id="dummy" rows="10"
                value="#{dummyBean.dummyEntries}" var="dummyEntry"
                preserveDataModel="true">
                <t:column>
                    <f:facet name="header">
                        <t:commandSortHeader columnName="name">
                            <h:outputText value="Dummy" />
                        </t:commandSortHeader>
                    </f:facet>
                    <h:outputText value="#{dummyEntry}"/>
                </t:column>
            </t:dataTable>
            <t:dataTable id="otherDummy" rows="10"
                value="#{dummyBean.otherDummyEntries}" var="oDummyEntry"
                preserveDataModel="true">
                <t:column>
                    <f:facet name="header">
                        <h:outputText
                            value="Other Dummies" />
                    </f:facet>
                    <h:outputText value="#{oDummyEntry}"/>
                </t:column>
            </t:dataTable>
            <t:dataScroller for="dummy" fastStep="10"
                pageCountVar="pageCount" pageIndexVar="pageIndex"
                styleClass="scroller" paginator="true" paginatorMaxPages="9"
                paginatorTableClass="paginator"
                paginatorActiveColumnStyle="font-weight:bold;" 
immediate="true">
                <f:facet name="first">
                    <t:graphicImage url="/images/arrow-first.gif" border="1"
                        alt="first" />
                </f:facet>
                <f:facet name="last">
                    <t:graphicImage url="/images/arrow-last.gif" 
border="1" alt="last" />
                </f:facet>
                <f:facet name="previous">
                    <t:graphicImage url="/images/arrow-previous.gif" 
border="1"
                        alt="prev" />
                </f:facet>
                <f:facet name="next">
                    <t:graphicImage url="/images/arrow-next.gif" 
border="1" alt="next" />
                </f:facet>
                <f:facet name="fastforward">
                    <t:graphicImage url="/images/arrow-ff.gif" border="1"
                        alt="fastforward" />
                </f:facet>
                <f:facet name="fastrewind">
                    <t:graphicImage url="/images/arrow-fr.gif" border="1"
                        alt="fastrewind" />
                </f:facet>
            </t:dataScroller>
            <t:dataScroller for="otherDummy" fastStep="10"
                pageCountVar="pageCount" pageIndexVar="pageIndex"
                styleClass="scroller" paginator="true" paginatorMaxPages="9"
                paginatorTableClass="paginator"
                paginatorActiveColumnStyle="font-weight:bold;" 
immediate="true">
                <f:facet name="first">
                    <t:graphicImage url="/images/arrow-first.gif" border="1"
                        alt="first" />
                </f:facet>
                <f:facet name="last">
                    <t:graphicImage url="/images/arrow-last.gif" 
border="1" alt="last" />
                </f:facet>
                <f:facet name="previous">
                    <t:graphicImage url="/images/arrow-previous.gif" 
border="1"
                        alt="prev" />
                </f:facet>
                <f:facet name="next">
                    <t:graphicImage url="/images/arrow-next.gif" 
border="1" alt="next" />
                </f:facet>
                <f:facet name="fastforward">
                    <t:graphicImage url="/images/arrow-ff.gif" border="1"
                        alt="fastforward" />
                </f:facet>
                <f:facet name="fastrewind">
                    <t:graphicImage url="/images/arrow-fr.gif" border="1"
                        alt="fastrewind" />
                </f:facet>
            </t:dataScroller>
        </h:panelGrid>
    </h:form>
</f:view>


//Exception
org.apache.jasper.JasperException: Client-id : _idJsp9jbp4fc96645first 
is duplicated in the faces tree. Component : 
_idJsp0jbp4fc96645:_idJsp9jbp4fc96645first, path: {Component-Path : 
[Class: javax.faces.component.UIViewRoot,ViewId: 
/WEB-INF/jsp/dataScrollerTest.jsp][Class: 
javax.faces.component.html.HtmlForm,Id: _idJsp0jbp4fc96645][Class: 
javax.faces.component.html.HtmlPanelGrid,Id: _idJsp1jbp4fc96645][Class: 
org.apache.myfaces.custom.datascroller.HtmlDataScroller,Id: 
_idJsp9jbp4fc96645][Class: 
javax.faces.component.html.HtmlCommandLink,Id: _idJsp9jbp4fc96645first]}
    at 
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
    at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at 
org.jboss.portal.portlet.impl.jsr168.PortletRequestDispatcherImpl.execute(PortletRequestDispatcherImpl.java:87)
    at sun.reflect.GeneratedMethodAccessor345.invoke(Unknown Source)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at 
org.jboss.portal.server.servlet.CommandFilter.doFilter(CommandFilter.java:65)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
    at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
    at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
  

Reply via email to