Caro amigos.Peço a gentileza de uma ajuda urgente…O erro do programa é
HTTP Status 500 -
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: #{ritosC.excluir}: java.lang.IllegalArgumentException
root cause
javax.faces.FacesException: #{ritosC.excluir}: java.lang.IllegalArgumentException
root cause
javax.faces.el.EvaluationException: java.lang.IllegalArgumentException
root cause
java.lang.IllegalArgumentException
note The full stack traces of the exception and its root causes are available in the Sun GlassFish Enterprise Server v2.1 logs.
O codigo fonte do projeto
Segue a pagina JSP.Ja vou falar que o erro acontece ao executar ritosC.excluir e nao sei porq o erro acontece
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ritos</title>
</head>
<body>
<!Sem isto nao funciona o componente>
<f:loadBundle basename="br.com.sistemajuridicowar.idiomas.language-pt" var="msg"/>
<f:view>
<h:form id="formRitosPages">
<a4j:commandButton action="#{ritosC.novoRitos}"
value="#{msg.btnNovoRitos}"/>
<br>
<a4j:region>
<rich:dataTable id = "tblRitos"
rows = "10"
columnClasses="col"
value="#{ritosC.todos}"
var='item'
border="1"
cellpadding="2"
cellspacing="0">
<f:facet name="header">
<h:outputText value="#{msg.ritos}"/>
</f:facet>
<rich:column sortBy="#{item.descricao}">
<f:facet name="header">
<h:outputText value="#{msg.descricao}" />
</f:facet>
<h:outputText value="#{item.descricao}" id="descricao" />
</rich:column>
<rich:column sortBy="#{item.flagAtivo}">
<f:facet name="header">
<h:outputText value="#{msg.flagAtivado}" />
</f:facet>
<h:outputText value="#{item.flagAtivo}" id="flagAtivo" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="#{acoes}" />
</f:facet>
<a4j:commandLink ajaxSingle="true"
id="editarRegistro"
action="#{ritosC.editar}">
<h:graphicImage value="/images/btn/btnEditar.gif"
style="border:0"/>
</a4j:commandLink>
<rich:toolTip for="editarRegistro"
value="#{msg.btnAlterar}"/>
<a4j:commandLink ajaxSingle="true"
id="excluirRegistro"
oncomplete="#{rich:component('deletePanel')}.show()">
<h:graphicImage value="/images/btn/btnExcluir.gif"
style="border:0"/>
</a4j:commandLink>
<rich:toolTip for="excluirRegistro"
value="#{msg.btnExcluir}"/>
</rich:column>
<f:facet name="footer">
<rich:datascroller renderIfSinglePage="false"/>
</f:facet>
</rich:dataTable>
</a4j:region>
</h:form>
<rich:modalPanel id="deletePanel" autosized="true" width="200">
<f:facet name="header">
<h:outputText value="#{msg.msgDeletar}"
style="padding-right:15px;" />
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="/images/btn/close.png"
styleClass="hidelink" id="hidelink2" />
<rich:componentControl for="deletePanel" attachTo="hidelink2"
operation="hide" event="onclick" />
</h:panelGroup>
</f:facet>
<h:form>
<table width="100%">
<tbody>
<tr>
<td align="center" width="50%">
<a4j:commandButton value="Yes" ajaxSingle="true"
action="#{ritosC.excluir}"
oncomplete="#{rich:component('deletePanel')}.hide();"
reRender="table"
/>
</td>
<td align="center" width="50%">
<a4j:commandButton value="Cancel"
onclick="#{rich:component('deletePanel')}.hide();return false;" />
</td>
</tr>
</tbody>
</table>
</h:form>
</rich:modalPanel>
<a4j:status onstart="#{rich:component('wait')}.show()"
onstop="#{rich:component('wait')}.hide()"/>
<rich:modalPanel id="wait" autosized="true" width="200" height="120" moveable="false" resizeable="false">
<f:facet name="header">
<h:outputText value="#{msg.msgProcessando}"/>
</f:facet>
<h:outputText value="#{msg.msgAguarde}"/>
</rich:modalPanel>
<rich:messages></rich:messages>
</f:view>
</body>
</html>
Meu controller
package br.com.sistemajuridicowar.controller;
import br.com.sistemajuridico.sessionBean.RitosFacadeLocal;
import br.com.sistemajuridico.entity.Ritos;
import javax.ejb.EJB;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
public class RitosController {
@EJB
private RitosFacadeLocal facade;
private Ritos ritos;
private DataModel model;
public String novoRitos() {
this.ritos = new Ritos();
return "novoRitos";
}
public Ritos getRitos() {
return ritos;
}
public void setRitos(Ritos ritos) {
this.ritos = ritos;
}
public DataModel getTodos()
throws Exception {
model =
new ListDataModel(facade.findAll());
return model;
}
public Ritos getRitosFromEditOrDelete() {
ritos =
(Ritos) model.getRowData();
return ritos;
}
public String editar() {
ritos = getRitosFromEditOrDelete();
setRitos(ritos);
return "editarRitos";
}
public String excluir()
throws Exception {
ritos = getRitosFromEditOrDelete();
facade.remove(ritos);
return "sucessoRitos";
}
public String salvar()
throws Exception {
if (ritos.getIdRitos() == null) {
facade.create(ritos);
} else {
facade.edit(ritos);
}
return "sucessoRitos";
}
}
[/b]QUANDO EU FAÇO NORMALMENTE SEM USAR AJAX, TUDO FUNCIONA LEGAL, MAS TENTANDO USAR AJAX NAO TA DANDO CERTO.EU NAO SEI SE TEM A VER, MAS COMO VCS PODEM VER A FUNCAO EXCLUIR ESTA EXECUTANDO FORA DO ESCOPO HTML PRINCIPAL…BOM…AGUARDO RESPOSTA DE VCS[b]