Primefaces + tree

1 resposta
J

galera,

alguem ja viu esse erro:
javax.faces.FacesException
	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:86)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
	at org.primefaces.model.TreeModel.setRowIndex(TreeModel.java:64)
	at org.primefaces.model.TreeExplorerImpl.findTreeNode(TreeExplorerImpl.java:29)
	at org.primefaces.component.tree.TreeRenderer.decode(TreeRenderer.java:102)
	at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:790)
	at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1047)
	at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1042)
	at javax.faces.component.UIForm.processDecodes(UIForm.java:216)
	at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1042)
	at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1042)
	at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:940)
	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
	... 19 more
19/05/2011 21:39:22 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/Condo] threw exception
java.lang.NullPointerException
	at java.io.Writer.write(Unknown Source)
	at com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:200)
	at com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:119)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

to usando uma tree. ELe chega a exibir a tree, mas qdo seleciono algum item e mando salvar...ele estoura esse erro

minha view
<p:panel id="panelItens" style="margin-top: 10px; margin-bottom: 10px; width: 500px;" header="Itens Produtos">                
		      
		root: <h:outputText value="#{itensManagedBean.root}" />         
		
		<p:tree value="#{itensManagedBean.root}" selectionMode="checkbox" var="no" expanded="true" expandAnim="FADE_IN" collapseAnim="FADE_OUT" selection="#{itensManagedBean.nosSelecionados}" propagateSelectionUp="true" propagateSelectionDown="true">                    
			<p:treeNode>                        
				<h:outputText value="#{no}" style="margin-left: 10px;"/>                    
			</p:treeNode>                
		</p:tree>      
		</p:panel>            
	<p:commandButton value="Salvar" action="#{itensManagedBean.salva()}" update="panelItens"/>
meu manageBean
public void salva() { 
		System.out.println("entrou no botao salva itens");
		if (produtoSelecionado.getCodigo() == 0) {            
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Nenhum produto SELECIONADO", "Erro"));        
			} 
		else {            
			try {                
				System.out.println("nosSelecionados: " + nosSelecionados);
				for (TreeNode no : nosSelecionados) {                    
					if (no.isLeaf()) {                        
						salvaPai(no);                    
						}               
					}               
				carregaPermissoesUsuario();                
				FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Itens Salvos", "ItensSalvos"));            
				} 
			catch (SQLException ex) {                
				Logger.getLogger(ItemManagedBean.class.getName()).log(Level.SEVERE, null, ex);           
}        }    
		}

Mas nao chega nem imprimir a primeira linha (o system.out.println não é executado) :shock:

1 Resposta

jokacwb

Qual sua versão do PrimeFaces ?

acho que pode estar relacionada a versão, se não me engano havia um problema parecido(se não o mesmo)
na versão 2.0 que foi corrigido na versões seguintes.

Criado 19 de maio de 2011
Ultima resposta 20 de mai. de 2011
Respostas 1
Participantes 2