Erro ao submeter o formulário

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:

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

Posta seu faces-config.xml ai!

Até!

Aproveitando posta também o universidadeDao.salvar.

Até!

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;
		}
	}

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!

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)

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

Até!

: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:

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:

[code]

<?xml version="1.0" encoding="UTF-8"?> Importar Documento
           <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>

[/code]

[code][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;

/**

  • 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.
  • @version ImportarArquivo.java
  • @version Created on 09/02/2012, 09:30:58
  • @author jeferson.lima
    */

public class ImportarArquivo extends AbstractPageBean {
//
private Upload arquivoDeUpload = new Upload();
private DropDownCategoria dropDownCategoria = new DropDownCategoria();
private Form formularioParaCadastroDeArquivo = new Form();
private Long selecionadoCategoria;
private List 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][/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)

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