Erro HTTP Status 500 Action does not contain method named

Olá, sou novato em Struts e utilizo a versao 1.X.

Tento fazer a inclusão ou alterar um registro e me mostra esta mensagem no browser:

[code]HTTP Status 500 - Action[/cadastroEspecialidade] does not contain method named $(cadastroEspecialidadeForm.acaoCadastro)

type Status report

message Action[/cadastroEspecialidade] does not contain method named $(cadastroEspecialidadeForm.acaoCadastro)

description The server encountered an internal error (Action[/cadastroEspecialidade] does not contain method named $(cadastroEspecialidadeForm.acaoCadastro)) that prevented it from fulfilling this request.[/code]

A linha que dá o erro:

<html:form action="/cadastroEspecialidade?oper=$(cadastroEspecialidadeForm.acaoCadastro)">

No meu xml-config, está assim:

<action-mappings> <action attribute="cadastroEspecialidadeForm" input="/form/cadastroEspecialidade.jsp" name="cadastroEspecialidadeForm" parameter="oper" path="/cadastroEspecialidade" scope="request" type="br.com.clinica.struts.action.CadastroEspecialidadeAction"> <forward name="cancelado" path="/index.html" /> <forward name="falha" path="/form/resposta.jsp" /> <forward name="sucesso" path="/form/resposta.jsp" /> <forward name="show" path="/form/cadastroEspecialidade.jsp" /> </action>

Alguém poderia me ajudar?

Agradeço antecipadamente…

coloca tb o código da sua action pra gente ter mais pistas do que pode ser o problema…
:slight_smile:

Olha minha Action:

[code]
package br.com.clinica.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;

import br.com.clinica.struts.form.CadastroEspecialidadeForm;
import br.com.clinica.apresentation.ctr.ClinicaFacade;

public class CadastroEspecialidadeAction extends DispatchAction {
ClinicaFacade clinicaFacade = new ClinicaFacade();

public ActionForward incluir(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response) {
	CadastroEspecialidadeForm cadastroEspecialidadeForm = (CadastroEspecialidadeForm) form;// TODO Auto-generated method stub
	
	if (isCancelled(request)) {
		return mapping.findForward("cancelado");
	}
	
	ActionMessages actionMessages = null;
	try{
		clinicaFacade.addEspecialidade(cadastroEspecialidadeForm.getCodigo(), 
				cadastroEspecialidadeForm.getDescricao()); 

		actionMessages = new ActionMessages();
		actionMessages.add("message", new ActionMessage("msg.insert.sucesso"));
		saveMessages(request, actionMessages);
		return mapping.findForward("sucesso");			
	}
	catch (Exception e) {
		actionMessages = new ActionMessages();
		actionMessages.add("message", new ActionMessage("msg.insert.falha", e.getMessage()));
		saveMessages(request, actionMessages);
		return mapping.findForward("falha");
	}
}

public ActionForward alterar(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response) {
	CadastroEspecialidadeForm cadastroEspecialidadeForm = (CadastroEspecialidadeForm) form;
	
	if (isCancelled(request)) {
		return mapping.findForward("cancelado");
	}
	
	clinicaFacade.updateEspecialidade(cadastroEspecialidadeForm.getCodigo(), 
				cadastroEspecialidadeForm.getDescricao()); 

	ActionMessages actionMessages = new ActionMessages();
	actionMessages.add("message", new ActionMessage("msg.update.sucesso"));
	saveMessages(request, actionMessages);

	System.out.println("update...");
	return mapping.findForward("sucesso");	
}

public ActionForward excluir(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response) {
	CadastroEspecialidadeForm cadastroEspecialidadeForm = (CadastroEspecialidadeForm) form;

	if (isCancelled(request)) {
		return mapping.findForward("cancelado");
	}

	clinicaFacade.excludeEspecialidade(cadastroEspecialidadeForm.getCodigo());
	ActionMessages actionMessages = new ActionMessages();
	actionMessages.add("message", new ActionMessage("msg.exclude.sucesso"));
	saveMessages(request, actionMessages);
	
	System.out.println("exclude...");
	return mapping.findForward("sucesso");
}

public ActionForward show(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response) {
	
	//CadastroEspecialidadeForm cadastroEspecialidadeForm = (CadastroEspecialidadeForm) form;
	
	return mapping.findForward("show");	
}

}[/code]

Obrigado pela atenção

Só um detalhe:

Se eu coloco incluir no jsp, funciona. Por favor veja se estou fazendo algo errado, acesso a pagina jsp por aqui:

<a href="cadastroEspecialidade.do?oper=show&acaoCadastro=incluir"><b>Cadastrar Novo</b></a>

Obrigado

(sobe)