Drag and Drop Exception and problem
vendetta Feb 26, 2008 5:41 AMHi at all, I use richFaces 3.1.4 and I try to develop an easy dnd example but it does not work well.
JSP code :
... <a4j:form ajaxSubmit="true"> <rich:panel style=" border : 0;" rendered="true"> <rich:dragIndicator id="indicator" /> <a4j:outputPanel style="width:100px;border:1px solid gray;padding:2px" layout="block"> <rich:dragSupport dragType="text" dragValue="#{EventBean.drag}" dragIndicator="indicator" /> <h:outputText value="#{EventBean.drag}" /> </a4j:outputPanel> <rich:panel id="drop"> <rich:dropSupport acceptedTypes="text" dropListener="#{EventBean.processDrop}" reRender="drop, drag" /> <h:outputText value="#{EventBean.drop}" /> </rich:panel> </rich:panel> </a4j:form> ...
EventBean :
package it.iwbank.opv.client.managedbean; import it.iwbank.lib.refactoring.managedbean.ManagedBean; import org.richfaces.component.Dropzone; import org.richfaces.event.DropEvent; import org.richfaces.event.DropListener; @SuppressWarnings("serial") public class EventBean extends AbstractManagedBean implements DropListener, ManagedBean { private String drag; private String drop; public EventBean() { this.drag = "Drag"; this.drop = null; } public void processDrop(DropEvent dropEvent) { System.out.println("+-+ EventBean.processDrop"); Dropzone dropzone = (Dropzone) dropEvent.getComponent(); this.moveSwitchString(dropEvent.getDragValue(), dropzone.getDropValue()); } public void moveSwitchString(Object fm, Object family) { System.out.println("+-+ DndBean.moveFramework"); if ("text".equalsIgnoreCase((String) family)) { this.drag = ""; this.drop = "Drop"; } } public String getDrag() { return drag; } public String getDrop() { return drop; } }
When I move the dragSupport into dropSupport the Framwork arise to me thi exception
javax.faces.el.MethodNotFoundException: javax.el.MethodNotFoundException: Method not found: it.iwbank.opv.client.managedbean.EventBean@69757a.processDrop(org.richfaces.event.DropEvent)
at com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:81)
at org.richfaces.component.UIDropSupport.broadcast(UIDropSupport.java:63)
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:184)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:162)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:350)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:87)
at org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteValve.java:84)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.el.MethodNotFoundException: Method not found: it.iwbank.opv.client.managedbean.EventBean@69757a.processDrop(org.richfaces.event.DropEvent)
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:138)
at org.apache.el.parser.AstValue.invoke(AstValue.java:128)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
... 32 more
Any suggestion ? Why the frameworks does not found processDrop method but it found getDrag method ? Must I set something ?
Thanks in Advance