2017-01-09 5 views
1

ノードを選択するときにツリーが例外をスローします。ノードをバックインして、正しいノードの値を送信します。しかし例外はそれがどこから来るのかではありません。primefacesノードを選択するときにツリーが例外をスローする

ログ:

情報:java.lang.IllegalArgumentExceptionが:クラスcom.delisa.ejb.util.utls.GrupoUtil Javaへの型クラスのorg.primefaces.model.DefaultTreeNodeのTerritorio IVを変換できません。 lang.IllegalArgumentException:クラスorg.primefaces.model.DefaultTreeNodeのTerritorio IVをクラスcom.delisa.ejb.util.utls.GrupoUtilに変換できません com.sun.el.lang.ELSupport.coerceToType(ELSupport.java:424) ) com.sun.el.lang.ELSupport.coerceToType(ELSupport.java:382) at com.sun.el.parser.AstValue.setValue(AstValue.java:248) at com.sun.el. ValueExpressionImpl.setValue(ValueExpressionImpl.java:294) at org.jboss.weld.el.WeldValueExpression.setValue(WeldValueExpression.java:64) (com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java: 131)) at org.primefaces.component.api.UITree.updateSelection(UITree.java:524) at org.primefaces.component.api.UITree.processUpdates(UITree.java:490) at org.primefaces.component。 tree.Tree.processProvider(Tree.java:425) com.sun.faces.context.PartialViewContextImpl $ PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:577) com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback PartialVisitContext.java:183) at org.primefaces.component.api.UITree.visitTree(UITree.java:738)(UIComponent.java:1700)。com.faces.component.UIComponent.visitTree(UIComponent.java:1700)での。のjavax.faces.component.UIForm.visitTree(UIForm.java:371) のjavax.faces.component.UIComponent.visitTree java:1700) at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700) (javax.faces.component.UIComponent.visitTree(UIComponent.java:1700) 、com.sun.faces.context) PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)で org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57) ででjavax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1252) com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle。 org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) でjavax.faces.webapp.FacesServlet.service(FacesServlet.java:654) でLifecycleImpl.execute(LifecycleImpl.java:198) でアプリケーションのフィルタリングを行う。 doFilter(NoCacheFilter.java:38) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.jav) a:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316) at org.apache。 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:734)の にある、org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)の のメタデータ。 java:673) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline。java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415) at org.apache。 catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)com.sun.enterprise.v3.services.impl.ContainerMapper $ HttpHandlerCallable.call(ContainerMapper.java:459)com.sun.enterprise.v3で で 。 services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) at org.glassfish.grizzly.http.server.HttpHandler。 doHandle(HttpHandler.java:180) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at o rg.glassfish.grizzly.filterchain.ExecutorResolver $ 9.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) at org.glassfish.grizzly.filterchain.DefaultFilterChain org.glassfish.grizzly.filterchain.DefaultFilterChain.processでorg.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) (DefaultFilterChain.java:111)で.executeChainPart(DefaultFilterChain.java:200) org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) at org.glassfish.grizzly.strategies.AbstractIOStrategy .fireIOEvent(AbstractIOStrategy.java:112) でorg.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access $ 100(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.runでorg.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:591) で.WorkerThreadIOStrategy $ WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) (AbstractThreadPool.java:571)java.lang.Thread.runで (Thread.java:745)

Advertencia:java.lang.IllegalArgumentExceptionが:に型クラスのorg.primefaces.model.DefaultTreeNodeのTerritorio IVを変換できません。クラスcom.delisa.ejb.util。 utls.GrupoUtil

私のXHTMLページ

<p:dialog responsive="true" dynamic="true" showEffect="fade" resizable="false" appendTo="@(body)" modal="true" position="center top" style="margin-top: 50px" 
 
          id="dialogInt" header="Seleccione donde desea moverlo" widgetVar="dialogGruph" width="600" height="600" closeOnEscape="true"> 
 
        <h:form id="frmGrupph"> 
 
         <div class="Container100"> 
 

 
          <div class="ContainerIndent"> 
 
           <p:tree id="treeEstrucph" styleClass="Wid100" value="#{mBEstructura.rootParentChange}" var="nodepc" 
 
              selectionMode="single" selection="#{mBEstructura.selectedParentchange}" >  
 

 
            <p:ajax event="select" update=":frmGrupph" listener="#{mBEstructura.parentChange}" /> 
 
                   
 

 
            <p:treeNode expandedIcon="ui-icon-folder-open" collapsedIcon="ui-icon-folder-collapsed"> 
 
             <h:outputText value="#{nodepc}"/> 
 
            </p:treeNode> 
 
           </p:tree> 
 
          </div>  
 
         </div> 
 

 

 
         
 
         <p:blockUI block="treeEstrucph" trigger="treeEstrucph" /> 
 
        </h:form> 
 
       </p:dialog> 

し、最終的に

public void parentChange(NodeSelectEvent event) throws Exception { 
    try { 
     JbGrupos ep = (JbGrupos) event.getTreeNode().getData(); 
     /** 
     * 
     */ 

    } catch (Exception e) { 
     JsfUtil.addErrorMessage(e, "Error: parentChange() " + e.getMessage()); 
    } 
} 
+0

ツリー内で使用するオブジェクトの種類を確認してください –

+0

ツリー内で使用するdifferenteオブジェクトを追加してください(rootParentChange、selectedParentchange ...) –

+0

Gracias @ YagamiLight ... eso es todo ... – meyquel

答えて

1

私backingbeanあなたのツリーに直面している問題は、のオブジェクト型ですあなたがあなたの木で使っているさまざまな要素、あなたの木のすべての要素をチェックしてください何か間違っています(この場合、あなたは成功裏にそれを行いました)。

ツリーがツリーノードのタイプで構成されている場合でも、あなたは、たとえばクライアントデータ、あなたのツリーに使用する各ノードを選択して使用することができます

treeConstruct = new DefaultTreeNode(new client(), null); 

他のタイプにバインドすることができます

あなたを助けた希望。

関連する問題