Erro Method not found
Senhores, boa tarde.
Estou com dificuldade em meu projeto. Estou utilizando TomCat 7, JSF, MYSQL. primefaces.
Criei um DataTable e uma coluna com os botões para Editar e excluir o registro.
Ele exibe os registros corretamente, porém quando eu clico n botão, seja de editar ou excluir ocorre o erro:
Eu sei que METHOD NOT FOUND é que ele não encontrou o método. Porém já renomeie e mesmo assim, o erro persiste.
Segue meus códigos:
Categoria.java
CategoriaDao.java
CategoriaImpl.java
CategoriaBean.java
HibernateUtil.java
Categorias.xml
Peço ajuda, se possível. Desde já agradeço a disponibilidade.
Estou com dificuldade em meu projeto. Estou utilizando TomCat 7, JSF, MYSQL. primefaces.
Criei um DataTable e uma coluna com os botões para Editar e excluir o registro.
Ele exibe os registros corretamente, porém quando eu clico n botão, seja de editar ou excluir ocorre o erro:
out 22, 2014 3:56:09 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.editar1}' para o componente 'btnEditar'
out 22, 2014 3:56:09 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
out 22, 2014 3:56:09 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:3, Message=Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
out 22, 2014 3:56:09 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@3e208695.editar1()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
... 26 moreEu sei que METHOD NOT FOUND é que ele não encontrou o método. Porém já renomeie e mesmo assim, o erro persiste.
Segue meus códigos:
Categoria.java
package categoriaproduto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "CATEGORIA")
public class Categoria implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Integer idcategoria;
@Column(name="nmcategoria", length=100, nullable=false)
private String nmcategoria;
@Column(name="vldescontomax", scale=2, precision=10)
private BigDecimal vldescontomax;
@Column(name="prdescpadrao", scale=2, precision=2)
private BigDecimal prdescpadrao;
@Column(name="usuinclusao", length=100)
private String usuinclusao;
@Column(name="usualteracao", length=100)
private String usualteracao;
@Column(name="compinclusao", length=20)
private String compinclusao;
@Column(name="compalteracao", length=20)
private String compalteracao;
@Temporal(TemporalType.DATE)
private Date dtinclusao;
@Temporal(TemporalType.DATE)
private Date dtalteracao;
@Column(name="idempresa")
private Integer idempresa;
public Integer getIdcategoria() {
return idcategoria;
}
public void setIdcategoria(Integer idcategoria)
{
this.idcategoria = idcategoria;
}
public String getNmcategoria() {
return nmcategoria;
}
public void setNmcategoria(String nmcategoria) {
this.nmcategoria = nmcategoria.toUpperCase();
}
public BigDecimal getVldescontomax() {
return vldescontomax;
}
public void setVldescontomax(BigDecimal vldescontomax) {
this.vldescontomax = vldescontomax;
}
public BigDecimal getPrdescpadrao() {
return prdescpadrao;
}
public void setPrdescpadrao(BigDecimal prdescpadrao) {
this.prdescpadrao = prdescpadrao;
}
public String getUsuinclusao() {
return usuinclusao.toUpperCase();
}
public void setUsuinclusao(String usuinclusao) {
this.usuinclusao = usuinclusao.toUpperCase();
}
public String getUsualteracao() {
return usualteracao.toUpperCase();
}
public void setUsualteracao(String usualteracao) {
this.usualteracao = usualteracao.toUpperCase();
}
public String getCompinclusao() {
return compinclusao.toUpperCase();
}
public void setCompinclusao(String compinclusao) {
this.compinclusao = compinclusao.toUpperCase();
}
public String getCompalteracao() {
return compalteracao.toUpperCase();
}
public void setCompalteracao(String compalteracao) {
this.compalteracao = compalteracao.toUpperCase();
}
public Date getDtinclusao() {
return dtinclusao;
}
public void setDtinclusao(Date dtinclusao) {
this.dtinclusao = dtinclusao;
}
public Date getDtalteracao()
{
return dtalteracao;
}
public void setDtalteracao(Date dtalteracao)
{
this.dtalteracao = dtalteracao;
}
public Integer getIdempresa()
{
return idempresa;
}
public void setIdempresa(Integer idempresa)
{
this.idempresa = idempresa;
}
public static long getSerialversionuid()
{
return serialVersionUID;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((compalteracao == null) ? 0 : compalteracao.hashCode());
result = prime * result
+ ((compinclusao == null) ? 0 : compinclusao.hashCode());
result = prime * result
+ ((dtalteracao == null) ? 0 : dtalteracao.hashCode());
result = prime * result
+ ((dtinclusao == null) ? 0 : dtinclusao.hashCode());
result = prime * result
+ ((idcategoria == null) ? 0 : idcategoria.hashCode());
result = prime * result + ((idempresa == null) ? 0 : idempresa.hashCode());
result = prime * result
+ ((nmcategoria == null) ? 0 : nmcategoria.hashCode());
result = prime * result
+ ((prdescpadrao == null) ? 0 : prdescpadrao.hashCode());
result = prime * result
+ ((usualteracao == null) ? 0 : usualteracao.hashCode());
result = prime * result
+ ((usuinclusao == null) ? 0 : usuinclusao.hashCode());
result = prime * result
+ ((vldescontomax == null) ? 0 : vldescontomax.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Categoria other = (Categoria) obj;
if (compalteracao == null) {
if (other.compalteracao != null)
return false;
} else if (!compalteracao.equals(other.compalteracao))
return false;
if (compinclusao == null) {
if (other.compinclusao != null)
return false;
} else if (!compinclusao.equals(other.compinclusao))
return false;
if (dtalteracao == null) {
if (other.dtalteracao != null)
return false;
} else if (!dtalteracao.equals(other.dtalteracao))
return false;
if (dtinclusao == null) {
if (other.dtinclusao != null)
return false;
} else if (!dtinclusao.equals(other.dtinclusao))
return false;
if (idcategoria == null) {
if (other.idcategoria != null)
return false;
} else if (!idcategoria.equals(other.idcategoria))
return false;
if (idempresa == null) {
if (other.idempresa != null)
return false;
} else if (!idempresa.equals(other.idempresa))
return false;
if (nmcategoria == null) {
if (other.nmcategoria != null)
return false;
} else if (!nmcategoria.equals(other.nmcategoria))
return false;
if (prdescpadrao == null) {
if (other.prdescpadrao != null)
return false;
} else if (!prdescpadrao.equals(other.prdescpadrao))
return false;
if (usualteracao == null) {
if (other.usualteracao != null)
return false;
} else if (!usualteracao.equals(other.usualteracao))
return false;
if (usuinclusao == null) {
if (other.usuinclusao != null)
return false;
} else if (!usuinclusao.equals(other.usuinclusao))
return false;
if (vldescontomax == null) {
if (other.vldescontomax != null)
return false;
} else if (!vldescontomax.equals(other.vldescontomax))
return false;
return true;
}
}
CategoriaDao.java
package categoriaproduto;
import java.util.List;
public interface CategoriaDAO
{
public void novo(Categoria categoria);
public void salvar(Categoria categoria);
public void editar(Categoria categoria);
public void excluir(Categoria categoria);
public List<Categoria> listarTudo();
public Categoria buscaCategoria(Integer codigo);
public Categoria carregar(Integer categoria);
}
CategoriaImpl.java
package categoriaproduto;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
import utilitarios.HibernateUtil;
public class CategoriaImpl implements CategoriaDAO
{
private Session sessao = null;
private Transaction transacao = null;
public void setSessao(Session sessao)
{
this.sessao = sessao;
}
public CategoriaImpl()
{
}
@Override
public void novo(Categoria categoria)
{
categoria = new Categoria();
}
@Override
public void salvar(Categoria categoria)
{
try
{
this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
this.transacao = this.sessao.beginTransaction();
this.sessao.save(categoria);
this.transacao.commit();
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Categoria de Produto Salvo Com Sucesso.", null);
FacesContext.getCurrentInstance().addMessage(null, msg);
}catch (Exception e)
{
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao Salvar Cadastro de Categoria de Produtos. "+e.getMessage(), null);
System.out.println(e.getMessage());
FacesContext.getCurrentInstance().addMessage(null, msg);
this.transacao.rollback();
}finally
{
System.out.println("Nome da categoria Após Salvar."+categoria.getNmcategoria());
if(this.sessao.isOpen())
{
this.sessao.close();
}
}
}
@Override
public void editar(Categoria categoria)
{
try
{
this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
this.transacao = this.sessao.beginTransaction();
this.sessao.saveOrUpdate(categoria);
this.transacao.commit();
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Categoria de Produto Atualizado Com Sucesso.", null);
FacesContext.getCurrentInstance().addMessage(null, msg);
}catch (Exception e)
{
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao Atualizar Cadastro de Categoria de Produtos", null);
FacesContext.getCurrentInstance().addMessage(null, msg);
this.transacao.rollback();
}finally
{
if(this.sessao.isOpen())
{
this.sessao.close();
}
}
}
@Override
public void excluir(Categoria categoria)
{
try
{
this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
this.transacao = this.sessao.beginTransaction();
this.sessao.delete(categoria);
this.transacao.commit();
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Categoria de Produto Excluído Com Sucesso.", null);
FacesContext.getCurrentInstance().addMessage(null, msg);
}catch (Exception e)
{
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao Salvar Cadastro de Categoria de Produtos", null);
FacesContext.getCurrentInstance().addMessage(null, msg);
this.transacao.rollback();
}finally
{
if(this.sessao.isOpen())
{
this.sessao.close();
}
}
}
@SuppressWarnings("unchecked")
@Override
public List<Categoria> listarTudo()
{
List<Categoria> retorno = null;
try
{
this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
this.transacao = this.sessao.beginTransaction();
retorno = this.sessao.createCriteria(Categoria.class).list();
}catch (Exception e)
{
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao Listar Categoria de Produtos", null);
FacesContext.getCurrentInstance().addMessage(null, msg);
this.transacao.rollback();
}finally
{
this.sessao.close();
}
return retorno;
}
public Integer porIdCategoria(Integer vlId)
{
String sResult = null;
try
{
this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
this.transacao = this.sessao.beginTransaction();
sResult = this.sessao.createCriteria(Categoria.class).add(Restrictions.eq("idcategoria", vlId)).toString();
this.transacao.commit();
}catch (Exception e)
{
System.out.println(e.getMessage());
}
return Integer.parseInt(sResult);
}
@Override
public Categoria buscaCategoria(Integer codigo)
{
Categoria categoria = null;
try
{
this.sessao = HibernateUtil.getSessionFactory().getCurrentSession();
this.transacao = this.sessao.beginTransaction();
Criteria filtro = this.sessao.createCriteria(Categoria.class);
filtro.add(Restrictions.eq("categoria", codigo));
categoria = (Categoria) filtro.uniqueResult();
this.transacao.commit();
} catch (Throwable e)
{
if(this.transacao.isActive())
{
this.transacao.rollback();
}
}finally
{
try
{
if(this.sessao.isOpen())
{
this.sessao.close();
}
} catch (Throwable t)
{
System.out.println("Erro ao fechar operação de busca. Erro: "+t.getMessage());
}
}
return categoria;
}
@Override
public Categoria carregar(Integer categoria)
{
return (Categoria) this.sessao.get(Categoria.class, categoria);
}
}
CategoriaBean.java
package categoriaproduto;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
@ManagedBean(name="categoriaBean")
@RequestScoped
public class CategoriaBean implements Serializable
{
private static final long serialVersionUID = 1L;
private Categoria categoria = new Categoria();
private List<Categoria> listar;
@SuppressWarnings("rawtypes")
private DataModel lstCategoria;
public Categoria getCategoria()
{
return categoria;
}
public void setCategoria(Categoria categoria)
{
this.categoria = categoria;
}
public void novo()
{
}
public void editar(ActionEvent event)
{
System.out.println("Método Ediar");
CategoriaImpl dao = new CategoriaImpl();
dao.editar(categoria);
}
public void salvar(ActionEvent event)
{
CategoriaImpl dao = new CategoriaImpl();
dao.salvar(this.categoria);
}
public void excluir(ActionEvent event)
{
CategoriaImpl dao = new CategoriaImpl();
dao.excluir(this.categoria);
System.out.println("Excluir Registro Bean"+categoria.getNmcategoria());
}
public List<Categoria> getListar()
{
if(this.listar == null)
{
CategoriaImpl dao = new CategoriaImpl();
this.listar = dao.listarTudo();
}
return this.listar;
}
public static long getSerialversionuid()
{
return serialVersionUID;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public DataModel getListarCategorias()
{
List<Categoria> lst = new CategoriaImpl().listarTudo();
lstCategoria = new ListDataModel(lst);
System.out.println("Listar Categoria DataModel");
return lstCategoria;
}
public void editar1()
{
categoria = (Categoria)(lstCategoria.getRowData());
System.out.println("Prepara Editar Categoria DATAMODEL. "+categoria.getNmcategoria());
}
public String novo1()
{
categoria = new Categoria();
System.out.println("Prepara Categoria");
return "Categorias";
}
public String excluir1()
{
Categoria catTemp = (Categoria)(lstCategoria.getRowData());
CategoriaImpl dao = new CategoriaImpl();
System.out.println("Excluir Categoria DataModel");
dao.excluir(catTemp);
return "Categorias";
}
}
HibernateUtil.java
package utilitarios;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil
{
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory()
{
try
{
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.configure("hibernate.cfg.xml");
return cfg.buildSessionFactory();
}catch(Throwable e)
{
System.out.println("Criação do Objeto SessionFactory Falhou. Erro: "+e);
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
}
Categorias.xml
<ui:composition template="/WEB-INF/template/LayoutPadrao.xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p= "http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<ui:define name="titulo">Cadastro de Categorias</ui:define>
<ui:define name="corpo">
<h:form id="frmCategoria">
<p:messages autoUpdate="true" />
<p:toolbar style="margin-top:60px" id="barraPrincipal">
<p:toolbarGroup align="left">
<h:outputLabel style="font-weight:bold;font-size:18px;font-style:italic" >Categoria de Produtos</h:outputLabel>
</p:toolbarGroup>
<p:toolbarGroup align="right">
<p:commandButton type="button" value=" Inserir Categoria" icon="ui-icon-plusthick" onclick="dlgCadastroCategoria.show();" />
<p:button value=" Imprimir Lista de Categorias" icon="ui-icon-print" />
</p:toolbarGroup>
</p:toolbar>
<p:dataTable id="categoriasTable"
value="#{categoriaBean.listarCategorias}"
var="cat"
style="margin-top: 20px"
emptyMessage="Nenhuma categoria de produto encontrada."
rows="20"
paginator="true"
paginatorTemplate=" "
rowsPerPageTemplate="5,10,15"
paginatorPosition="bottom">
<p:column headerText="Código" style="text-align: center; width: 80px">
<h:outputText value="#{cat.idcategoria}" />
</p:column>
<p:column headerText="Categoria" style="width:600px">
<h:outputText value="#{cat.nmcategoria}" />
</p:column>
<p:column headerText="% Desconto" style="width:70px" >
<h:outputText value="#{cat.prdescpadrao}" />
</p:column>
<p:column headerText="$ Máx. Desconto" style="width:70px">
<h:outputText value="#{cat.vldescontomax}" />
</p:column>
<p:column style="width: 100px; text-align: center" headerText="Ações">
<p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar"
actionListener="#{categoriaBean.editar1}"
oncomplete="dlgCadastroCategoria.show()" >
<f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
</p:commandButton>
<p:commandButton id="btnExcluir" icon="ui-icon-trash" title="Excluir"
actionListener="#{categoriaBean.excluir1}"
oncomplete="confirmaExclusao.show()" >
<f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
</p:commandButton>
</p:column>
</p:dataTable>
</h:form>
<p:dialog id="dlCadastro"
header="Inserir/Editar"
widgetVar="dlgCadastroCategoria"
closable="true"
modal="false"
height="200"
width="300"
resizable="false">
<h:form id="frmdlgCategoria" prependId="false">
<p:outputLabel id="lblnomeCategoria" for="txtNomeCategoria" value="Descrição:" /><br/>
<p:inputText value="#{categoriaBean.categoria.nmcategoria}" id="txtNomeCategoria" size="60" maxlength="60" style="width:250px;text-transform:uppercase" required="true" requiredMessage="Campo Obrigatório. Descrição da Categoria do Produto."/><br/>
<p:outputLabel id="lblPercDesconto" for="txtPercentualDesconto" value="% Desconto" /><br/>
<p:inputText value="#{categoriaBean.categoria.prdescpadrao}" id="txtPercentualDesconto" size="60" maxlength="60" style="width:150px;" >
<f:convertNumber type="percent" locale="pt_BR" pattern="#0.000" />
</p:inputText><br/>
<p:outputLabel id="lblVlMaxDesconto" for="txtValorMaximoDesconto" value="$ Máximo Desconto" />
<p:inputText value="#{categoriaBean.categoria.vldescontomax}" id="txtValorMaximoDesconto" size="60" maxlength="60" style="width:150px;" >
<f:convertNumber type="percent" locale="pt_BR" pattern="#0.000" />
</p:inputText>
<br/>
<br/>
<p:commandButton id="btnSalvar" value="Salvar" icon="ui-icon-circle-check" action="#{categoriaBean.salvar}" onclick="dlgCadastroCategoria.close();" />
<p:button id="btnFechar" icon="ui-icon-circle-close" value="Fechar" />
</h:form>
</p:dialog>
<h:form id="frmExcluir">
<p:confirmDialog id="Excluir" widgetVar="confirmaExclusao" severity="alert"
message="Tem certeza que deseja excluir #{categoriaBean.categoria.nmcategoria} ?">
<p:commandButton id="confirm" value="Sim"
oncomplete="confirmaExclusao.hide()"
actionListener="#{categoriaBean.excluir}" />
<p:commandButton id="decline" value="Não" type="button" onclick="confirmaExclusao.hide()" />
</p:confirmDialog>
</h:form>
</ui:define>
</ui:composition>Peço ajuda, se possível. Desde já agradeço a disponibilidade.
Plinio Costa
Curtidas 0
Respostas
Ronaldo Lanhellas
22/10/2014
Tire o parâmetro "ActionEvent" do seu categoriaBean, deixando assim:
Depois coloque o parenteses na chamada ao método, assim:
public void editar()
{
System.out.println("Método Ediar");
CategoriaImpl dao = new CategoriaImpl();
dao.editar(categoria);
}
Depois coloque o parenteses na chamada ao método, assim:
<p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar"
actionListener="#{categoriaBean.editar1()}"
oncomplete="dlgCadastroCategoria.show()" >
<f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
</p:commandButton>
GOSTEI 0
Plinio Costa
22/10/2014
Ronaldo, boa tarde.
Fiz exatamente como me auxiliou, mas o erro persiste:
Fiz exatamente como me auxiliou, mas o erro persiste:
out 22, 2014 4:16:34 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.editar1()}' para o componente 'btnEditar'
out 22, 2014 4:16:34 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
out 22, 2014 4:16:34 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:3, Message=Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
out 22, 2014 4:16:34 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@658edda4.editar1()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
... 26 more
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Reparou que o nome do seu método é editar() e você está chamando editar1() ?
Chame assim:
Chame assim:
<p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar"
actionListener="#{categoriaBean.editar()}"
oncomplete="dlgCadastroCategoria.show()" >
<f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
</p:commandButton>
GOSTEI 0
Plinio Costa
22/10/2014
Na verdade eu tenho os dois métodos: editar() e editar1()
o editar1() chamava-se antes prepararEditar(), mas renomeiei para ver se resolvia.
o editar1() chamava-se antes prepararEditar(), mas renomeiei para ver se resolvia.
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Você está usando JSF 2 ou 1 ?
GOSTEI 0
Plinio Costa
22/10/2014
Estou usando o javax.faces-2.0.10.rar
É a versão 2.0, certo? Sou iniciante...
É a versão 2.0, certo? Sou iniciante...
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Sim, é a 2.0. Bom, o seu método editar1() estava sem ActionEvent pelo que vi no primeiro post seu, tente colocar e testar, se estava sem. Ficando assim:
E no seu XHTML:
Só 1 coisa: Quando for importar o ActionEvent fique atento para não importar do pacote java.awt.AWTEvent, mas sim do javax.faces.event.ActionEvent
public void editar1(ActionEvent event)
{
categoria = (Categoria)(lstCategoria.getRowData());
System.out.println("Prepara Editar Categoria DATAMODEL. "+categoria.getNmcategoria());
}
E no seu XHTML:
<p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar"
actionListener="#{categoriaBean.editar1()}"
oncomplete="dlgCadastroCategoria.show()" >
<f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
</p:commandButton>
Só 1 coisa: Quando for importar o ActionEvent fique atento para não importar do pacote java.awt.AWTEvent, mas sim do javax.faces.event.ActionEvent
GOSTEI 0
Plinio Costa
22/10/2014
Então, eu já havia tirado para testar, mas o erro persiste.
Uma situação que reparei foi a seguinte: Esse erro só ocorre quando eu implementei as rotinas com DataModel.
sobre o ActiveEvent é o import está correto.
Uma situação que reparei foi a seguinte: Esse erro só ocorre quando eu implementei as rotinas com DataModel.
sobre o ActiveEvent é o import está correto.
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Você consegue chamar outros métodos normalmente ? Faça um teste chamando um método simples como:
public void testeCall(){
System.out.println('chamou normalmente');
}
GOSTEI 0
Plinio Costa
22/10/2014
Peguei o método q vc me passou:
O erro persiste.
public void testeCall()
{
System.out.println('chamou normalmente');
}
<p:commandButton id="btnEditar" icon="ui-icon-pencil" title="Editar"
actionListener="#{categoriaBean.testeCall()}"
oncomplete="dlgCadastroCategoria.show()" >
<f:setPropertyActionListener target="#{categoriaBean.categoria}" value="#" />
</p:commandButton>
out 22, 2014 5:33:17 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.testeCall()}' para o componente 'btnEditar'
out 22, 2014 5:33:17 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
out 22, 2014 5:33:17 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:0, Message=Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
out 22, 2014 5:33:17 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@5caf41dc.testeCall()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
... 26 more
O erro persiste.
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Vamos testar mudar o escopo do seu ManagedBean. Mude de @RequestedScoped para @ViewScoped
GOSTEI 0
Plinio Costa
22/10/2014
Fiz a alteração para @ViewScoped e o retorno é exatamente o mesmo.
Fiz o teste primeiro sem o parâmetro ActionEvent, retornou erro.
Fiz agora o teste sem o parâmetro da classe ActionEvent e o erro persiste.
Fiz o teste primeiro sem o parâmetro ActionEvent, retornou erro.
Fiz agora o teste sem o parâmetro da classe ActionEvent e o erro persiste.
out 22, 2014 5:47:37 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.editar1()}' para o componente 'btnEditar'
out 22, 2014 5:47:37 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
out 22, 2014 5:47:37 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:3, Message=Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
out 22, 2014 5:47:37 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@7b9fa728.editar1()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
... 26 more
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Só o que me resta pensar é que o seu arquivo .class não possui mesmo o método editar1(), sendo assim aconselho você a fazer um "Clean & Build" para recriar todos os .class do seu projeto e testar novamente. Se estiver usando maven, faça um Clean e depois Install, mas não deixe de fazer um Clean e Build no projeto.
GOSTEI 0
Plinio Costa
22/10/2014
Não estou usando Maven. Como faço para executar o clear, é só clicar com botão direito no servidor tomcat?
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Para eclipse..
1 - Pare o servidor;
2 - Na barra de menu do Eclipse vá em "Project";
3 - Marque a opção "Build Automatically";
4 - Vá em "Clean...";
5 - Selecione o radio : "Clean projects selected bellow";
6 - Selecione o seu projeto e clique em OK.
1 - Pare o servidor;
2 - Na barra de menu do Eclipse vá em "Project";
3 - Marque a opção "Build Automatically";
4 - Vá em "Clean...";
5 - Selecione o radio : "Clean projects selected bellow";
6 - Selecione o seu projeto e clique em OK.
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Para eclipse..
1 - Pare o servidor;
2 - Na barra de menu do Eclipse vá em "Project";
3 - Marque a opção "Build Automatically";
4 - Vá em "Clean...";
5 - Selecione o radio : "Clean projects selected bellow";
6 - Selecione o seu projeto e clique em OK.
1 - Pare o servidor;
2 - Na barra de menu do Eclipse vá em "Project";
3 - Marque a opção "Build Automatically";
4 - Vá em "Clean...";
5 - Selecione o radio : "Clean projects selected bellow";
6 - Selecione o seu projeto e clique em OK.
GOSTEI 0
Plinio Costa
22/10/2014
Rapaz, fiz exatamente tudo que você me disse, passo a passo, mas o danado do problema persiste:
out 22, 2014 6:39:35 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.el.MethodNotFoundException' recebido ao invocar escuta de ação '#{categoriaBean.editar1()}' para o componente 'btnEditar'
out 22, 2014 6:39:35 PM javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
out 22, 2014 6:39:35 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=frmCategoria:categoriasTable:3, Message=Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
out 22, 2014 6:39:35 PM com.sun.faces.context.AjaxExceptionHandlerImpl log
GRAVE: Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
javax.faces.event.AbortProcessingException: Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:182)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:778)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:915)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
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:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.MethodNotFoundException: Method not found: categoriaproduto.CategoriaBean@8ec2305.editar1()
at org.apache.el.util.ReflectionUtil.getMethod(ReflectionUtil.java:245)
at org.apache.el.parser.AstValue.invoke(AstValue.java:271)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
... 26 more
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Considerando que você disse que o erro passou a ocorrer depois que colocou o método do DataModel, se você retirar este método não funciona ?
@SuppressWarnings({ "rawtypes", "unchecked" })
public DataModel getListarCategorias()
{
List<Categoria> lst = new CategoriaImpl().listarTudo();
lstCategoria = new ListDataModel(lst);
System.out.println("Listar Categoria DataModel");
return lstCategoria;
}
GOSTEI 0
Plinio Costa
22/10/2014
Ronaldo, fechei o eclipse, abri reiniciei o servidor, executei o clean e por incrível que pareça parou de dar o erro, acredita ( Mágico fechar e abrir novamente).
Agora ele não carregou os dados para editar no dialog do primefaces.
Mas já foi um avanço.
Agora ele não carregou os dados para editar no dialog do primefaces.
Mas já foi um avanço.
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Ronaldo, fechei o eclipse, abri reiniciei o servidor, executei o clean e por incrível que pareça parou de dar o erro, acredita ( Mágico fechar e abrir novamente).
Agora ele não carregou os dados para editar no dialog do primefaces.
Mas já foi um avanço.
Agora ele não carregou os dados para editar no dialog do primefaces.
Mas já foi um avanço.
BOm, isso quer dizer que o problema era o ".class" que estava antigo, como havia lhe dito anteriormente. O clean feito de forma errada causa isso.
Em relação a não carregar os dados, apareceu algum erro ?
GOSTEI 0
Plinio Costa
22/10/2014
Bom dia Ronaldo.
Não aparace nenhum erro. Inclusive eu coloquei um sysout para exibir no log qual o nome da categoria e exibiu a categoria que eu selecionei.
Não aparace nenhum erro. Inclusive eu coloquei um sysout para exibir no log qual o nome da categoria e exibiu a categoria que eu selecionei.
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
Imagino que este seja o código que mostra a listagem:
A variável "lstCategoria" está preenchida ou vazia ? verifica se esta sendo populada com os registros.
@SuppressWarnings({ "rawtypes", "unchecked" })
public DataModel getListarCategorias()
{
List<Categoria> lst = new CategoriaImpl().listarTudo();
lstCategoria = new ListDataModel(lst);
System.out.println("Listar Categoria DataModel");
return lstCategoria;
}
A variável "lstCategoria" está preenchida ou vazia ? verifica se esta sendo populada com os registros.
GOSTEI 0
Plinio Costa
22/10/2014
[ RESOLVIDO ]
Ronaldo, obrigado pela ajuda !
Ronaldo, obrigado pela ajuda !
GOSTEI 0
Ronaldo Lanhellas
22/10/2014
[ RESOLVIDO ]
Ronaldo, obrigado pela ajuda !
Ronaldo, obrigado pela ajuda !
De nada, qual foi a solução definitiva ? Poste aqui para ajudar outras pessoas que possam ter o mesmo problema.
GOSTEI 0