【发布时间】:2014-01-21 12:33:11
【问题描述】:
我有这个错误:
2014 年 1 月 3 日下午 6:43:56 com.sun.faces.context.PartialViewContextImpl 过程部分信息:java.lang.ClassCastException: javax.faces.event.ValueChangeEvent 不能强制转换为 javax.faces.event.AjaxBehaviorEvent java.lang.ClassCastException: javax.faces.event.ValueChangeEvent 不能强制转换为 javax.faces.event.AjaxBehaviorEvent
xhtml 中的树:
<p:tree id="catTree"
value="#{listCatsRenderer.categoryTree}" var="ndt"
selectionMode="single"
selection="#{listCatsRenderer.selectedNode}"
draggable="true"
droppable="true"
animate="true" styleClass="tree_general"
propagateSelectionUp="false"
dynamic="true"
>
<p:ajax event="dragdrop" listener="#{listCatsRenderer.onDragDrop}" update=":main:catTree"/>
<p:treeNode>
<p:inplace event="dblclick" editor="true" >
<h:inputText value="#{ndt.name}"/>
</p:inplace>
</p:treeNode>
</p:tree>
从 bean 加载在这里:
@Named
@SessionScoped
public class ListCatsRenderer extends ARenderer implements Serializable {
.
.
.
@Override
public TreeNode getCategoryTree() {
if (categoryTree == null) {
updateCategoryTree(); //DBS load
}
return categoryTree;
}
在任何拖放事件之后,它都会引发异常。当我打开上述条件时,它可以正常工作。知道为什么吗? 谢谢。
//编辑 流程事件的代码,但我认为它永远不会到达那里
public void onDragDrop(TreeDragDropEvent event) {
System.out.println("dragged: " + event.getDragNode());
System.out.println("dropped: " + event.getDropNode() + " > " + event.getDropIndex());
}
完整的堆栈跟踪可能会有所帮助:
2014 年 1 月 5 日上午 11:50:28 com.sun.faces.lifecycle.ProcessValidationsPhase 执行警告: java.lang.ClassCastException: javax.faces.event.ValueChangeEvent 不能转换为 javax.faces.event.AjaxBehaviorEvent javax.faces.FacesException:java.lang.ClassCastException: javax.faces.event.ValueChangeEvent 不能强制转换为 javax.faces.event.AjaxBehaviorEvent 在 com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:270) 在 org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57) 在 javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1193) 在 com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) 在 com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 在 com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) 在 javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.jboss.weld.servlet.ConversationFilter.doFilter(ConversationFilter.java:66) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:724) 引起: java.lang.ClassCastException: javax.faces.event.ValueChangeEvent 不能转换为 javax.faces.event.AjaxBehaviorEvent 在 org.primefaces.component.tree.Tree.queueEvent(Tree.java:308) 在 javax.faces.component.UIComponentBase.queueEvent(UIComponentBase.java:1057) 在 javax.faces.component.UIComponentBase.queueEvent(UIComponentBase.java:1057) 在 javax.faces.component.UIComponentBase.queueEvent(UIComponentBase.java:1057) 在 javax.faces.component.UIInput.validate(UIInput.java:992) 在 javax.faces.component.UIInput.executeValidate(UIInput.java:1249) 在 javax.faces.component.UIInput.processValidators(UIInput.java:712) 在 javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261) 在 org.primefaces.component.inplace.Inplace.processValidators(Inplace.java:218) 在 org.primefaces.component.api.UITree.processColumnChildren(UITree.java:442) 在 org.primefaces.component.api.UITree.processNode(UITree.java:372) 在 org.primefaces.component.api.UITree.processNode(UITree.java:380) 在 org.primefaces.component.api.UITree.processNodes(UITree.java:365) 在 org.primefaces.component.api.UITree.processValidators(UITree.java:308) 在 org.primefaces.component.tree.Tree.processValidators(Tree.java:377) 在 com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:552) 在 com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183) 在 org.primefaces.component.api.UITree.visitTree(UITree.java:552) 在 javax.faces.component.UIComponent.visitTree(UIComponent.java:1700) 在 javax.faces.component.UIComponent.visitTree(UIComponent.java:1700) 在 javax.faces.component.UIForm.visitTree(UIForm.java:371) 在 javax.faces.component.UIComponent.visitTree(UIComponent.java:1700) 在 javax.faces.component.UIComponent.visitTree(UIComponent.java:1700) 在 com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:399) 在 com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:263) ... 28
【问题讨论】:
标签: ajax primefaces drag-and-drop tree tomcat7