Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
1.1.6
-
None
-
Windows
java version "1.6.0_03"
GlassFish V2ur1
Liferay 4.4.1
jsf-api-1.2_07.jar
jsf-impl-1.2_07.jar
jsf-portlet-1.2.2_01.jar
jstl-1.2.jar
Description
Posted on behalf Babu:
We are attempting to achieve a paged, sortable data table using
Tomahawk's t:dataScroller. It is deployed in Glassfish app server
inside a portlet. When the page is first hit, the table renders
successfully. After the first rendering, if the page is refreshed, the
exception below is encountered.
The JSP page is as follows:
<t:dataTable id="studentTable" value='#
{department.students}'
var="student"
border="0"
rows="5"
styleClass="liferay-table taglib-search-iterator"
rowClasses="portlet-section-alternate,portlet-section-body"
sortColumn="#
"
sortable="true" >
<t:column defaultSorted="true">
<f:facet name="header">
<t:commandSortHeader columnName="ID" arrow="true">
<h:outputText value="#
"/>
</t:commandSortHeader>
</f:facet>
<h:outputText value="#
" />
</t:column>
<t:column>
<f:facet name="header">
<t:commandSortHeader columnName="name" arrow="true">
<h:outputText value="#
"/>
</t:commandSortHeader>
</f:facet>
<h:outputText value="#
" />
</t:column>
...
</t:dataTable>
<h:panelGrid columns="1" styleClass="scrollerTable2" columnClasses="standardTable_ColumnCentered" >
<t:dataScroller id="studentScroll"
for="studentTable"
fastStep="10"
pageCountVar="pageCount"
pageIndexVar="pageIndex"
styleClass="scroller"
paginator="true"
paginatorMaxPages="9"
paginatorTableClass="paginator"
paginatorActiveColumnStyle="font-weight:bold;">
<f:facet name="first" >
<h:outputText id="firstLink" value="First"/>
</f:facet>
<f:facet name="last">
<h:outputText id="lastLink" value="Last"/>
</f:facet>
<f:facet name="previous">
<h:outputText id="previousLink" value="Previous"/>
</f:facet>
<f:facet name="next">
<h:outputText id="nextLink" value="Next"/>
</f:facet>
</t:dataScroller>
</h:panelGrid>
department managed bean is configured as following in faces-config.xml:
<managed-bean>
<managed-bean-name>department</managed-bean-name>
<managed-bean-class>xyz.abc.Department</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
During the first parse of the JSP page, the HtmlDataScrollerRenderer
contructs one HtmlCommandLink object for each facet (First, Last,
Previous and Next in the above example) and each page link in the
getLink() method. All HtmlCommandLink objects are added as children to
the scroller. When the page is refreshed, another set of child
HtmlCommandLink objects with the same IDs as the ones created for the
previous request is added to the rendered. This results in an ID
conflict as each ID is now shared by 2 child links. Hence the
IllegalStateException.
[#|2008-05-02T16:32:33.068-0600|INFO|sun-appserver9.1|null|_ThreadID=19;_ThreadName=httpSSLWorkerThread-8080-0;RENDER_RESPONSE 6;com.sun.faces.portlet.FacesContextImpl@13a0116;|PS_CSFP0033
java.lang.IllegalStateException: Component ID j_id_id8:transScrollfirst has already been found in the view. See below for details.
+id: j_id_id6
type: teamdev.jsf.n@676214
+id: j_id_id8
type: javax.faces.component.html.HtmlForm@158407e
+id: j_id_id10
type: javax.faces.component.html.HtmlMessages@1938370
+id: transTable
type: org.apache.myfaces.component.html.ext.HtmlDataTable@f22252
+id: j_id_id14
type: org.apache.myfaces.custom.column.HtmlSimpleColumn@ab7280
+id: j_id_id18
type: org.apache.myfaces.custom.sortheader.HtmlCommandSortHeader@1ea3b13
+id: j_id_id20
type: javax.faces.component.html.HtmlOutputText@cc780c
+id: j_id_id24
type: javax.faces.component.html.HtmlOutputText@1dd6eb3
+id: j_id_id27
type: org.apache.myfaces.custom.column.HtmlSimpleColumn@8ee118
+id: j_id_id31
type: org.apache.myfaces.custom.sortheader.HtmlCommandSortHeader@5bfa39
+id: j_id_id33
type: javax.faces.component.html.HtmlOutputText@88f4fe
+id: j_id_id37
type: javax.faces.component.html.HtmlOutputText@18c74e6
+id: j_id_id40
type: org.apache.myfaces.custom.column.HtmlSimpleColumn@4eb41e
+id: j_id_id44
type: org.apache.myfaces.custom.sortheader.HtmlCommandSortHeader@11320ce
+id: j_id_id46
type: javax.faces.component.html.HtmlOutputText@cec13e
+id: j_id_id50
type: javax.faces.component.html.HtmlOutputText@1f0e98e
+id: j_id_id53
type: org.apache.myfaces.custom.column.HtmlSimpleColumn@1758a6d
+id: j_id_id57
type: org.apache.myfaces.custom.sortheader.HtmlCommandSortHeader@1d32c17
+id: j_id_id59
type: javax.faces.component.html.HtmlOutputText@f3d14e
+id: j_id_id63
type: javax.faces.component.html.HtmlOutputText@13293de
+id: j_id_id66
type: org.apache.myfaces.custom.column.HtmlSimpleColumn@189ee14
+id: j_id_id70
type: org.apache.myfaces.custom.sortheader.HtmlCommandSortHeader@6d829c
+id: j_id_id72
type: javax.faces.component.html.HtmlOutputText@199e586
+id: j_id_id76
type: javax.faces.component.html.HtmlOutputText@abffcf
+id: j_id_id79
type: org.apache.myfaces.custom.column.HtmlSimpleColumn@278a0d
+id: j_id_id83
type: org.apache.myfaces.custom.sortheader.HtmlCommandSortHeader@1d85fa9
+id: j_id_id85
type: javax.faces.component.html.HtmlOutputText@707f5a
+id: j_id_id89
type: javax.faces.component.html.HtmlOutputText@1b91c19
+id: j_id_id93
type: javax.faces.component.html.HtmlPanelGrid@1e3b55f
+id: transScroll
type: org.apache.myfaces.custom.datascroller.HtmlDataScroller@9891c4
+id: j_id_id109
type: javax.faces.component.html.HtmlOutputText@8a0225
+id: j_id_id104
type: javax.faces.component.html.HtmlOutputText@92e615
+id: j_id_id114
type: javax.faces.component.html.HtmlOutputText@3f9606
+id: j_id_id99
type: javax.faces.component.html.HtmlOutputText@92933a
+id: transScrollfirst
type: javax.faces.component.html.HtmlCommandLink@ffef30
+id: transScrollfirst_param
type: javax.faces.component.UIParameter@b04315
+id: transScrollprevious
type: javax.faces.component.html.HtmlCommandLink@42fa5
+id: transScrollprevious_param
type: javax.faces.component.UIParameter@d41557
+id: transScrollidx1
type: javax.faces.component.html.HtmlCommandLink@1c52a28
+id: transScrollidx1_param
type: javax.faces.component.UIParameter@152e586
+id: null
type: javax.faces.component.html.HtmlOutputText@15ad9b6
+id: transScrollidx2
type: javax.faces.component.html.HtmlCommandLink@18b5924
+id: transScrollidx2_param
type: javax.faces.component.UIParameter@18989d9
+id: null
type: javax.faces.component.html.HtmlOutputText@b943e5
+id: transScrollidx3
type: javax.faces.component.html.HtmlCommandLink@1188a6d
+id: transScrollidx3_param
type: javax.faces.component.UIParameter@283316
+id: null
type: javax.faces.component.html.HtmlOutputText@132041a
+id: transScrollnext
type: javax.faces.component.html.HtmlCommandLink@ab6552
+id: transScrollnext_param
type: javax.faces.component.UIParameter@8913de
+id: transScrolllast
type: javax.faces.component.html.HtmlCommandLink@177668f
+id: transScrolllast_param
type: javax.faces.component.UIParameter@1ee4879
+id: transScrollfirst
type: javax.faces.component.html.HtmlCommandLink@d83b65
+id: transScrollfirst_param
type: javax.faces.component.UIParameter@2374bb
+id: transScrollprevious
type: javax.faces.component.html.HtmlCommandLink@1c4cc24
+id: transScrollprevious_param
type: javax.faces.component.UIParameter@13682a8
+id: transScrollidx1
type: javax.faces.component.html.HtmlCommandLink@1bbea5e
+id: transScrollidx1_param
type: javax.faces.component.UIParameter@17fdb5
+id: null
type: javax.faces.component.html.HtmlOutputText@111782c
+id: transScrollidx2
type: javax.faces.component.html.HtmlCommandLink@1e8b31a
+id: transScrollidx2_param
type: javax.faces.component.UIParameter@468888
+id: null
type: javax.faces.component.html.HtmlOutputText@adc4f8
+id: transScrollidx3
type: javax.faces.component.html.HtmlCommandLink@5e8ebf
+id: transScrollidx3_param
type: javax.faces.component.UIParameter@1edcf06
+id: null
type: javax.faces.component.html.HtmlOutputText@1b2c41d
+id: transScrollnext
type: javax.faces.component.html.HtmlCommandLink@1698849
+id: transScrollnext_param
type: javax.faces.component.UIParameter@17286e3
+id: transScrolllast
type: javax.faces.component.html.HtmlCommandLink@1f5b02f
+id: transScrolllast_param
type: javax.faces.component.UIParameter@1020398
+id: teamdevValidationProcessor
type: teamdev.jsf.component.validation.ValidationProcessor@b79a3b
at com.sun.faces.application.StateManagerImpl.checkIdUniqueness(StateManagerImpl.java:335)
at com.sun.faces.application.StateManagerImpl.checkIdUniqueness(StateManagerImpl.java:322)
at com.sun.faces.application.StateManagerImpl.checkIdUniqueness(StateManagerImpl.java:322)
at com.sun.faces.application.StateManagerImpl.checkIdUniqueness(StateManagerImpl.java:322)
at com.sun.faces.application.StateManagerImpl.saveSerializedView(StateManagerImpl.java:199)
at javax.faces.application.StateManager.saveView(StateManager.java:155)
at com.sun.faces.portlet.ViewHandlerImpl$WriteBehindStringWriter.flushToWriter(ViewHandlerImpl.java:486)
at com.sun.faces.portlet.ViewHandlerImpl.renderView(ViewHandlerImpl.java:281)
at teamdev.jsf.cb.renderView(SourceFile:45)
at teamdev.jsf.aq.renderView(SourceFile:404)
at com.sun.faces.portlet.LifecycleImpl$RenderResponsePhase.execute(LifecycleImpl.java:691)
at com.sun.faces.portlet.LifecycleImpl.phase(LifecycleImpl.java:330)
at com.sun.faces.portlet.LifecycleImpl.render(LifecycleImpl.java:266)
at com.sun.faces.portlet.FacesPortlet.renderFaces(FacesPortlet.java:358)
at com.sun.faces.portlet.FacesPortlet.doView(FacesPortlet.java:286)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:235)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:163)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:102)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:855)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:660)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:578)
at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:408)
at com.liferay.portlet.CachePortlet.render(CachePortlet.java:251)
at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java from :1323)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:855)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:660)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:578)
at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1862)
at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:165)
at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:102)
at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:270)
at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:189)
at org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(portlet_jsp.java from :784)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:855)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:660)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:578)
at com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:308)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:185)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:158)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:401)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:630)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:149)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.portal.servlet.filters.sessionid.SessionIdFilter.doFilter(SessionIdFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:542)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:366)
at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:118)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:150)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.filters.doubleclick.DoubleClickFilter.doFilter(DoubleClickFilter.java:132)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(LayoutCacheFilter.java:190)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.doFilter(AutoLoginFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:173)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98)
at com.liferay.portal.servlet.filters.sessionid.SessionIdFilter.doFilter(SessionIdFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
#] |
Attachments
Attachments
Issue Links
- duplicates
-
TOMAHAWK-596 Duplicate id exception for HtmlDataScrollerRenderer
- Closed