Erro ao submeter o formulário

10 respostas
M

Boa tarde pessoal

eu tenho dois botões:

<h:form> 
        <h:inputText id="text" required="true" value="#{universidadeBean.currentRow.nome}" />
        <p:commandButton  action="#{universidadeBean.gravar}" value="Gravar"/>
	<h:commandButton  action="#{universidadeBean.gravarD}" value="GravarJSF"/>
</h:form>

No primeiro botão quando eu clico não acontece nada.
No segundo botão dá o seguinte erro:

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Index: 0, Size: 0
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:323)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

root cause

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	java.util.ArrayList.RangeCheck(ArrayList.java:547)
	java.util.ArrayList.get(ArrayList.java:322)
	javax.faces.component.AttachedObjectListHolder.restoreState(AttachedObjectListHolder.java:161)
	javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1428)
	javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1203)
	javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:866)
	org.ajax4jsf.component.AjaxViewRoot.processRestoreState(AjaxViewRoot.java:761)
	org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:456)
	com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:119)
	com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:438)
	com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:144)
	org.ajax4jsf.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:107)
	com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:182)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:107)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.2 logs.

Os métodos são:

public String gravar(ActionEvent actionEvent){
		if (universidadeDao.salvar(getCurrentRow()) != null)
			 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Sample info message", "Registro gravado com sucesso!"));
		else
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,"Sample warn message", "Erro ao gravar!"));
		return "";
	}

	public String gravarD(){
		if (universidadeDao.salvar(getCurrentRow()) != null)
			 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Sample info message", "Registro gravado com sucesso!"));
		else
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,"Sample warn message", "Erro ao gravar!"));
		return "";
	}

vlw pela ajuda. :slight_smile:

10 Respostas

M

Alguém tem alguma ideia?
Qualquer coisa pode ajudar. :slight_smile:

R

Posta seu faces-config.xml ai!

Até!

R

Aproveitando posta também o universidadeDao.salvar.

Até!

M

Eu coloquei um breakPoint e o método nem se quer é chamado. O botão parece que não acha o método ou algo assim.

faces-config

<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">
<name>universidade</name>
 <managed-bean>
  <managed-bean-name>universidadeBean</managed-bean-name>
  <managed-bean-class>br.com.universidade.bean.UniversidadeBean</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
 </managed-bean>
</faces-config>

UniversidadeDao

@Override
	public String salvar(Object object) {
		session = ConnectionFactory.getInstance();
		Transaction tx = null;
		Universidade universidade = (Universidade) object;
		try{
			tx = session.beginTransaction();
			session.save(universidade);
			tx.commit();
		}catch (HibernateException h) {
			h.printStackTrace();
			tx.rollback();
			return null;
		}finally{
			session.close();
			if(tx.wasCommitted())
				return "commited";
			else
				return null;
		}
	}
R

O primeiro problema do botão não efetuar nada é que action não recebe como parametro ActionEvent actionEvent então coloque seu método assim:

public String gravar(){   
    if (universidadeDao.salvar(getCurrentRow()) != null)   
         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Sample info message", "Registro gravado com sucesso!"));   
    else   
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,"Sample warn message", "Erro ao gravar!"));   
    return "";   
}

Por desencargo de consciencia coloque também o seu bean como:

&lt;managed-bean-scope&gt;session&lt;/managed-bean-scope&gt;

Até

Qualquer coisa posta ai!

M

Eu fiz o que vc disse. e agora, quando eu aperto o botão que chama gravar ele dá o seguinte erro no console:

27/09/2010 18:17:03 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/universidade] threw exception
java.lang.NullPointerException
	at com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter(PartialViewContextImpl.java:415)
	at com.sun.faces.context.PartialViewContextImpl.access$300(PartialViewContextImpl.java:67)
	at com.sun.faces.context.PartialViewContextImpl$DelayedInitPartialResponseWriter.getWrapped(PartialViewContextImpl.java:543)
	at javax.faces.context.ResponseWriterWrapper.getCharacterEncoding(ResponseWriterWrapper.java:95)
	at javax.faces.context.PartialResponseWriter.startDocument(PartialResponseWriter.java:112)
	at com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:195)
	at com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:119)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:115)
	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:107)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at javax.faces.component.AttachedObjectListHolder.restoreState(AttachedObjectListHolder.java:161)
	at javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1428)
	at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1203)
	at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1218)
	at javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:866)
	at org.ajax4jsf.component.AjaxViewRoot.processRestoreState(AjaxViewRoot.java:761)
	at org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:456)
	at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:119)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:438)
	at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:144)
	at org.ajax4jsf.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:107)
	at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:182)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:107)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
R

Posta sua classe br.com.universidade.bean.UniversidadeBean

Até!

M

:slight_smile:
Descobri o motivo. Eu já estava sem ideias, ai resolvi fazer algo que parecia improvável: retirei o richfaces do projeto. Ai funcionou. rsrsrs
Vlw pela ajuda. :slight_smile:

J

PEssoal, estou com um problema parecido com marlonmca.
eu tamebem não consigo submeter oum formulriuo;

eu uso o primefaces e as bibliotecas para funciona o woodstock pois uso o visual jsf, mas como eu precisava de ajax eu fiz essa tela com os componetes padores do jsf e o restante com o woodstock.

segue abaixo o meu .xhtml:

<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:webuijsf="http://www.sun.com/webui/webuijsf"
       xmlns:p="http://primefaces.org/ui"
      >
    <h:head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <webuijsf:link id="link1" url="/resources/stylesheet.css"/>
        <title>Importar Documento</title>
    </h:head>
    <h:body>
        <font color="#86b125">
         <h:outputLabel id="staticText1" style="font-size: 20pt; height: 46px; width: 276px" value="Cadastro de Arquivo"    />
        </font>
       <p:separator id="pageSeparator1" style="left: -3px; top: 10px; position: absolute"/>
          
               <h:form id="form1">
                         <h:outputLabel id="staticText2" style="left: 8px; top: 113px; position: absolute" value="Categoria:"/>
                         <h:commandButton 
                            style="height: 24px; left: 340px; top: 114px; position: absolute; width: 95px"
                             actionListener="#{page$ImportarArquivo.enviarArquivo}"
                              id="buttonImportar" value="Importar"/>
                        
                         <h:outputLabel id="staticText3" style="left: 18px; top: 150px; position: absolute" value="Arquivo:"/>


                         
                    </h:form>
   </h:body>
</html>
[code]
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.gov.ba.ebal.sisredd.controler.page;

import br.gov.ba.ebal.sisredd.categoriadocumento.bean.CategoriaDocumentoBean;
import br.gov.ba.ebal.sisredd.categoriadocumento.bo.CategoriaDocumentoBoImplementacao;
import br.gov.ba.ebal.sisredd.categoriadocumento.bo.CategoriaDocumentoBoInterface;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.model.SingleSelectOptionsList;
import javax.faces.FacesException;
import br.gov.ba.ebal.sisredd.controler.RequestBean;
import br.gov.ba.ebal.sisredd.controler.SessionBean;
import br.gov.ba.ebal.sisredd.controler.TipoDePermissaoUsuarioSessionBean;

import com.sun.webui.jsf.component.Upload;
import com.sun.webui.jsf.model.UploadedFile;
import com.sun.webui.jsf.component.Form;
import com.sun.webui.jsf.component.PanelGroup;
import java.util.ArrayList;
import java.util.List;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.ActionEvent;
import javax.faces.event.AjaxBehaviorEvent;
import javax.faces.model.SelectItem;
import org.primefaces.component.button.Button;



/**
 * <p>Page bean that corresponds to a similarly named JSP page.  This
 * class contains component definitions (and initialization code) for
 * all components that you have defined on this page, as well as
 * lifecycle methods and event handlers where you may add behavior
 * to respond to incoming events.</p>
 *
 * @version ImportarArquivo.java
 * @version Created on 09/02/2012, 09:30:58
 * @author jeferson.lima
 */

public class ImportarArquivo extends AbstractPageBean {
    // <editor-fold defaultstate="collapsed" desc="Managed Component Definition">
   private Upload arquivoDeUpload = new Upload();
   private DropDownCategoria dropDownCategoria = new DropDownCategoria();
   private Form formularioParaCadastroDeArquivo = new Form();
   private Long selecionadoCategoria;
   private List<SelectItem> listaItemCategoria;
   private CategoriaDocumentoBoInterface categoriaBo = new
          CategoriaDocumentoBoImplementacao();
   private Button botaoInserirEditar = new Button();
   
    /**
     * <p>Automatically managed component initialization.  <strong>WARNING:</strong>
     * This method is automatically generated, so any user-specified code inserted
     * here is subject to being replaced.</p>
     */
    private void _init() throws Exception {
       // dropDownCategoria.listar();
    }
    
   
    // </editor-fold>

    /**
     * <p>Construct a new Page bean instance.</p>
     */
    public ImportarArquivo() {
    }

    /**
     * <p>Callback method that is called whenever a page is navigated to,
     * either directly via a URL, or indirectly via page navigation.
     * Customize this method to acquire resources that will be needed
     * for event handlers and lifecycle methods, whether or not this
     * page is performing post back processing.</p>
     * 
     * <p>Note that, if the current request is a postback, the property
     * values of the components do <strong>not</strong> represent any
     * values submitted with this request.  Instead, they represent the
     * property values that were saved for this view when it was rendered.</p>
     */
    @Override
    public void init() {
        // Perform initializations inherited from our superclass
        super.init();
        // Perform application initialization that must complete
        // *before* managed components are initialized
        // TODO - add your own initialiation code here
        
        // <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
        // Initialize automatically managed components
        // *Note* - this logic should NOT be modified
        try {
            _init();
        } catch (Exception e) {
            log("ImportarArquivo Initialization Failure", e);
            throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
        }
        
        // </editor-fold>
        // Perform application initialization that must complete
        // *after* managed components are initialized
        // TODO - add your own initialization code here
    }

    /**
     * <p>Callback method that is called after the component tree has been
     * restored, but before any event processing takes place.  This method
     * will <strong>only</strong> be called on a postback request that
     * is processing a form submit.  Customize this method to allocate
     * resources that will be required in your event handlers.</p>
     */
    @Override
    public void preprocess() {
    }

    /**
     * <p>Callback method that is called just before rendering takes place.
     * This method will <strong>only</strong> be called for the page that
     * will actually be rendered (and not, for example, on a page that
     * handled a postback and then navigated to a different page).  Customize
     * this method to allocate resources that will be required for rendering
     * this page.</p>
     */
    @Override
    public void prerender() {
    }

    /**
     * <p>Callback method that is called after rendering is completed for
     * this request, if <code>init()</code> was called (regardless of whether
     * or not this was the page that was actually rendered).  Customize this
     * method to release resources acquired in the <code>init()</code>,
     * <code>preprocess()</code>, or <code>prerender()</code> methods (or
     * acquired during execution of an event handler).</p>
     */
    @Override
    public void destroy() {
    }

    public void enviarArquivo(ActionEvent evt){
        UploadedFile file = arquivoDeUpload.getUploadedFile();
        System.out.println("nome: "+file.getOriginalName());
        System.out.println("tamanho: "+file.getSize());
    }

    public void criarCamposDinamicos(){
     //   formularioParaCadastroDeArquivo.
//this.setPainel(new HtmlPanelGrid());
//        this.getPainel().setColumns(2);//
//        HtmlOutputText hotTitulo = (HtmlOutputText)    FacesContext.getCurrentInstance().getApplication().createComponent(HtmlOutputText.COMPONENT_TYPE);
//
//        hotTitulo.setValue("Configuração do Relatório de Pessoas");
//
//        FacesContext context = FacesContext.getCurrentInstance();
//        ELContext elContext = context.getELContext();
//        Application app = context.getApplication();
//        ExpressionFactory expressionFactory = app.getExpressionFactory();
//
//
//        ValueExpression ve = expressionFactory.createValueExpression("#{mbPessoa.filtroTeste}", String.class);
//
//        //ValueBinding vb = app.createValueBinding("#{filtroTeste}");
//
//        itxOperador = new HtmlInputText();
//        //vb.setValue(context, vb.getValue(context));
//
//        itxOperador.setValueExpression("e", ve);
//        //itxOperador.setValueBinding("e", vb);
//        this.getPainel().getChildren().add(itxOperador);

        System.out.println("componentes dinamicoooss");
    }
public void criarCampos(AjaxBehaviorEvent event)  {

System.out.println("criarCampos");


}

    /**
     * <p>Return a reference to the scoped data bean.</p>
     *
     * @return reference to the scoped data bean
     */
    protected RequestBean getRequestBean() {
        return (RequestBean) getBean("RequestBean");
    }

    /**
     * <p>Return a reference to the scoped data bean.</p>
     *
     * @return reference to the scoped data bean
     */
    protected SessionBean getSessionBean() {
        return (SessionBean) getBean("SessionBean");
    }

    /**
     * <p>Return a reference to the scoped data bean.</p>
     *
     * @return reference to the scoped data bean
     */
    protected TipoDePermissaoUsuarioSessionBean getTipoDePermissaoUsuarioSessionBean() {
        return (TipoDePermissaoUsuarioSessionBean) getBean("TipoDePermissaoUsuarioSessionBean");
    }

    /**
     * @return the arquivoDeUpload
     */
    public Upload getArquivoDeUpload() {
        return arquivoDeUpload;
    }

    /**
     * @param arquivoDeUpload the arquivoDeUpload to set
     */
    public void setArquivoDeUpload(Upload arquivoDeUpload) {
        this.arquivoDeUpload = arquivoDeUpload;
    }

    /**
     * @return the dropDownCategoria
     */
    public DropDownCategoria getDropDownCategoria() {
        return dropDownCategoria;
    }

    /**
     * @param dropDownCategoria the dropDownCategoria to set
     */
    public void setDropDownCategoria(DropDownCategoria dropDownCategoria) {
        this.dropDownCategoria = dropDownCategoria;
    }

    /**
     * @return the formularioParaCadastroDeArquivo
     */
    public Form getFormularioParaCadastroDeArquivo() {
        return formularioParaCadastroDeArquivo;
    }

    /**
     * @param formularioParaCadastroDeArquivo the formularioParaCadastroDeArquivo to set
     */
    public void setFormularioParaCadastroDeArquivo(Form formularioParaCadastroDeArquivo) {
        this.formularioParaCadastroDeArquivo = formularioParaCadastroDeArquivo;
    }

    public String cadastrarCategoriaIndexador() {
        // TODO: Processe a ação. O valor de retorno é um nome de caso
        // de navegação em que nulo retornará à mesma página.
        return null;
    }

    /**
     * @return the selecionadoCategoria
     */
    public Long getSelecionadoCategoria() {
        return selecionadoCategoria;
    }

    /**
     * @param selecionadoCategoria the selecionadoCategoria to set
     */
    public void setSelecionadoCategoria(Long selecionadoCategoria) {
        System.out.println("setSelecionadoCategoria");
        this.selecionadoCategoria = selecionadoCategoria;
    }

    /**
     * @return the listaItemCategoria
     */
    public List<SelectItem> getListaItemCategoria() {
        ArrayList<CategoriaDocumentoBean> categoriaDocumento =categoriaBo.listarCategoriaDocumento( );
           ArrayList<SelectItem> listaItemCategoria = new ArrayList<SelectItem>();
            for(CategoriaDocumentoBean categoria    :categoriaDocumento){
                  SelectItem item = new SelectItem(categoria.getIdCategoriaDocumento(), categoria.getDescricao());
            listaItemCategoria.add(item);
            }
        return listaItemCategoria;
    }

    /**
     * @param listaItemCategoria the listaItemCategoria to set
     */
    public void setListaItemCategoria(List<SelectItem> listaItemCategoria) {
        this.listaItemCategoria = listaItemCategoria;
    }

    /**
     * @param categoriaBo the categoriaBo to set
     */
    public void setCategoriaBo(CategoriaDocumentoBoInterface categoriaBo) {
        this.categoriaBo = categoriaBo;
    }

    /**
     * @return the botaoInserirEditar
     */
    public Button getBotaoInserirEditar() {
        return botaoInserirEditar;
    }

    /**
     * @param botaoInserirEditar the botaoInserirEditar to set
     */
    public void setBotaoInserirEditar(Button botaoInserirEditar) {
        this.botaoInserirEditar = botaoInserirEditar;
    }
    
}
[/code]

e aparece a seguinte mensagem:

21/03/2012 12:36:25 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at javax.faces.component.AttachedObjectListHolder.restoreState(AttachedObjectListHolder.java:161)
at javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1427)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1202)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1217)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1217)
at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1217)
at javax.faces.component.UIViewRoot.processRestoreState(UIViewRoot.java:865)
at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:197)
at javax.faces.application.StateManagerWrapper.restoreView(StateManagerWrapper.java:178)
at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:131)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:430)
at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:143)
at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:348)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:199)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
at java.lang.Thread.run(Thread.java:662)

F

Vou aproveitar o tópico porque estou com o mesmo problema.

No meu caso ocorre quando faço redeploy da aplicação. Atualmente estou com PrimeFaces 3.5.8 + Mojarra 2.1.22, mas já tem um bom tempo que esse problema ocorre.

Alguma ideia?

Valeu,
Felipe

Criado 25 de setembro de 2010
Ultima resposta 17 de jul. de 2013
Respostas 10
Participantes 4