Error using Richfaces Drag and Drop support in JSF 1.1 application
Iam using rich faces drag n drop support in my JSF application . The jsp works as expected but I get this weird exception while navigating through my pages.
Scenario : User logs into the application , from the home page ---> when the user click on a button he is navigated to the jsp which has the drag n drop support. This was working fine till , I have added a menu_incl .jsp inthe sub view . The code snippet is as shown below :
<body>
<div id="wrap">
<f:view>
<f:subview id="menu">
<jsp:include page="/search/incld/menu.incl.jsp" />
</f:subview>
<rich:dragIndicator id="indicator" />
<h:form id="myfolder">
<h:panelGrid columnClasses="panelc,panelc,panelc,panelc" columns="4" width="100%">
<!-- Panel for Queries -->
<rich:panel style="width:133px">
<f:verbatim>
<div style="overflow-x: scroll; overflow-y: scroll; height: 400px;">
</f:verbatim>
<f:facet name="header">
<h:outputText value="Queries" />
</f:facet>
<h:dataTable id="querytable" value="#{dndBean.queryList}"
var="query" binding="#{workSpaceBean.queryData}" >
<h:column>
<a4j:outputPanel style="width:100px;border:1px solid gray;padding:2px" layout="block">
<rich:dragSupport dragIndicator=":indicator"
dragType="Query" dragValue="#{query}">
<rich:dndParam name="label" value="#{query.name}" />
</rich:dragSupport>
<h:commandLink value="#{query.name}"
action="#{workSpaceBean.populateQuery}">
</h:commandLink>
</a4j:outputPanel>
</h:column>
</h:dataTable>
<f:verbatim></div> </f:verbatim>
</rich:panel>
Now when I click on the button in my home page , and expect to be navigated to the page which has dran drop support components, I get the following error :
Error Message: Duplicate component ID 'myfolder:querytable:_id34' found in view.
Error Code: 500
Target Servlet: Faces Servlet
Error Stack:
java.lang.IllegalStateException: Duplicate component ID 'myfolder:querytable:_id34' found in view.
at com.sun.faces.application.StateManagerImpl.removeTransientChildrenAndFacets(StateManagerImpl.java:171)
at com.sun.faces.application.StateManagerImpl.removeTransientChildrenAndFacets(StateManagerImpl.java:179)
at com.sun.faces.application.StateManagerImpl.removeTransientChildrenAndFacets(StateManagerImpl.java:179)
at com.sun.faces.application.StateManagerImpl.removeTransientChildrenAndFacets(StateManagerImpl.java:179)
at com.sun.faces.application.StateManagerImpl.removeTransientChildrenAndFacets(StateManagerImpl.java:179)
at com.sun.faces.application.StateManagerImpl.removeTransientChildrenAndFacets(StateManagerImpl.java:179)
at com.sun.faces.application.StateManagerImpl.saveSerializedView(StateManagerImpl.java:86)
at org.ajax4jsf.framework.ajax.AjaxStateManager.saveSerializedView(AjaxStateManager.java:90)
at com.sun.faces.taglib.jsf_core.ViewTag.doAfterBody(ViewTag.java:170)
Iam getting this error only when I include this jsp in the parent jsp :
<f:subview id="menu">
<jsp:include page="/search/incld/menu.incl.jsp" />
</f:subview>
Iam including the same way in all other jsps of my application , they are all working fine expect for this jsp which has ajax components (rich faces drag m drop support components ) .
From the error I deduce that the view component is being generated twice , why is this so???
I would appreciate if some one coulkd guide me through this .... I hope I was able to explain my issu properly , please let me know if it is now clear