componente: modalPanel.xhtml
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
<rich:modalPanel id="deleteUserPanel" autosized="true">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Deletar registro" />
</h:panelGroup>
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="/img/close.png" style="cursor:pointer"
id="hideDeleteUserPanel" />
<rich:componentControl for="deleteUserPanel"
attachTo="hideDeleteUserPanel" operation="hide" event="onclick" />
</h:panelGroup>
</f:facet>
<s:div id="userInfoToDelete" style="width:250px">
<p>
<h:graphicImage value="" />
<h:outputText value="#{titulo}" />
<h:outputText value="#{valor}" />
</p>
<h:form>
<center>
<h:commandButton value="Deletar" action="#{acao}" />
<s:button onclick="Richfaces.hideModalPanel('deleteUserPanel')" value="Cancelar" />
</center>
</h:form>
</s:div>
</rich:modalPanel>
</ui:composition>
onde estou usando o componente:
<dem:modalPanel titulo="Deseja realmente excluir o sistema ?" valor="#{sistema.id}" acao="#{sistemaBean.excluirSistema()}"/>
metodo Managed Bean:
@End
public String excluirSistema() {
log.info("Excluindo o sistema:" + sistemaSelecionado.getNome());
sistemaSessionLocal.deleteSistema(sistemaSelecionado);
return "manterSistema";
}
erro: (Ele entra no meu bean, e quando vai redirecionar para a página certa, dá esse erro)
11:29:01,572 SEVERE [application] javax.el.ELException: /WEB-INF/facelets/modalPanel.xhtml @36,58 action="#{acao}": Identity 'acao' does not reference a MethodExpression instance, returned type: java.lang.String
javax.faces.el.EvaluationException: javax.el.ELException: /WEB-INF/facelets/modalPanel.xhtml @36,58 action="#{acao}": Identity 'acao' does not reference a MethodExpression instance, returned type: java.lang.String
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
PS: Se ao invés de passar o parâmetro da action do commandButton dentro do meu componente, ele funciona perfeitamente, mas como estou usando parâmetro pra action, ele dá esse erro. Não estou entendendo. Alguém já passou por esse problema ???
Agradecendo desde já,