I've been having a heap of trouble getting the DataScroller object
working. It simply refuses to allow me to have facets. It works
perfectly fine in the examples but not in my page so perhaps it's a
config problem. I'd really appreciate it if anyone can help me out. This
thing has been bothering me for days.
I'm new to JSF so any other hints about how I should write it would be
nice for future reference. You know, things like "you should make sure
these tags are before these ones" and that.
The code that causes the error (messages.jsp):
<%@ 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"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<f:view>
<HTML>
<HEAD><TITLE>Some thing</TITLE>
<BODY>
<CENTER>
<h:panelGroup id="group">
<h:panelGrid columns="1" id="grid">
<t:dataTable id="messagedata"
var="message"
value="#{listMessage.messages}"
rows="10">
<t:column>
<f:facet name="header">
<h:outputText value="Time Transferred" />
</f:facet>
<h:outputText value="#{message.timeTransferred}" />
</t:column>
<t:column>
<f:facet name="header">
<h:outputText value="Purpose" />
</f:facet>
<h:outputText value="#{message.actionPerformed}" />
</t:column>
</t:dataTable>
<t:dataScroller id="scrollnice"
for="messagedata"
fastStep="10"
pageCountVar="pageCount"
pageIndexVar="pageIndex"
paginator="true"
paginatorMaxPages="9"
paginatorActiveColumnStyle="font-weight:bold;">
<f:facet name="first" >
<t:graphicImage id="theproblem" url="images/arrow-first.gif"
border="1" />
</f:facet>
</t:dataScroller>
</h:panelGrid>
</h:panelGroup>
</CENTER>
</BODY>
</HTML>
</f:view>
and the error page:
*exception*
javax.servlet.ServletException: Client-id : theproblem is duplicated in the
faces tree.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:112)
*root cause*
java.lang.IllegalStateException: Client-id : theproblem is duplicated in the
faces tree.
org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:241)
org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:255)
org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:255)
org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:255)
org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:255)
org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:255)
org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView(JspStateManagerImpl.java:204)
org.apache.myfaces.taglib.core.ViewTag.doEndTag(ViewTag.java:122)
org.apache.jsp.messages_jsp._jspx_meth_f_view_0(org.apache.jsp.messages_jsp:132)
org.apache.jsp.messages_jsp._jspService(org.apache.jsp.messages_jsp:81)
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:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:415)
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:95)
org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:112)
Thanks in advance for any help.