Eai galera boa tarde a todos,
Estou tendo um problema com o seguinte erro no meu projeto quando envio o meu formulário para cadastrar uma turma ou um aluno e não sei como arrumar, alguem pode me ajudar?
Segue a mensagem de erro e o código fonte de meu projeto:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
There is no Action mapped for action name cadastrarTurma. - [unknown location]
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.
FORMULÁRIO DE CADASTRO DE ALUNO:
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<head><title>Cadastro de aluno</title></head>
<body>
<h1><center>Cadastro de aluno</center></h1>
<center>
<s:form action="cadastrarAluno.action" method="POST" >
<s:textfield name="nome" label="Nome " />
<s:textfield name="endereco" label="Endereço " />
<s:textfield name="telefone" label="Tel " />
<s:textfield name="turma" label="Turma " />
<s:submit value="Enviar"/>
</s:form></center>
</body>
</html>
FORMULARIO DE CADASTRO DE TURMA
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<head><title>Cadastro de aluno</title></head>
<body>
<h1><center>Cadastro de aluno</center></h1>
<center>
<s:form action="cadastrarTurma.action">
<s:textfield name="turma" label="Turma " />
<s:textfield name="sala" label="Sala " />
<s:textfield name="periodo" label="Período " />
<s:submit value="Enviar"/>
</s:form>
</center>
</body>
</html>
STRUTS.XML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default" namespace="/">
<action name="listarAlunos" method="listarAlunos" class="t8.action.AlunoAction">
<result name="sucesso">/listaAlunos.jsp</result>
</action>
<action name="cadastrarAluno" method="cadastrarAluno" class="t8.action.AlunoAction">
<result name="sucesso">/listaAlunos.jsp</result>
</action>
<action name="listarTurmas" method="listarTurmas" class="t8.action.TurmaAction">
<result name="sucesso">/listaTurma.jsp</result>
</action>
<action name="cadastrarTurma" method="cadastrarTurma" class="t8.action.TurmaAction">
<result name="sucesso">/listaTurma.jsp</result>
</action>
</package>
</struts>
AlunoAction
package t8.action;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import t8.entidade.Aluno;
import t8.negocio.AlunoBO;
import com.opensymphony.xwork2.ActionSupport;
public class AlunoAction extends ActionSupport implements SessionAware{
private List<Aluno> listaAlunos;
private AlunoBO alunoService = new AlunoBO();
private Aluno aluno;
private Map session;
public String listarAlunos() {
listaAlunos = alunoService.listarTodos();
return "sucesso";
}
public String cadastrarAluno() {
try {
alunoService.insereAluno(aluno);
addActionMessage("Inserido com sucesso!");
return listarAlunos();
} catch (RuntimeException e) {
addActionError("Erro ao gravar o aluno. " + e.getCause());
return "erro";
}
}
public List<Aluno> getListaAlunos() {
return listaAlunos;
}
public void setListaAlunos(List<Aluno> listaAlunos) {
this.listaAlunos = listaAlunos;
}
public AlunoBO getAlunoService() {
return alunoService;
}
public void setAlunoService(AlunoBO alunoService) {
this.alunoService = alunoService;
}
public Aluno getAluno() {
return aluno;
}
public void setAluno(Aluno aluno) {
this.aluno = aluno;
}
public Map getSession() {
return session;
}
public void setSession(Map session) {
this.session = session;
}
}
TurmaAction
package t8.action;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import t8.entidade.Turma;
import t8.negocio.TurmaBO;
import com.opensymphony.xwork2.ActionSupport;
public class TurmaAction extends ActionSupport implements SessionAware{
private List<Turma> listaTurmas;
private TurmaBO turmaService = new TurmaBO();
private Turma turma;
private Map session;
public String listarTurmas() {
listaTurmas = turmaService.listarTodos();
return "sucesso";
}
public String cadastrarTurma() {
try {
turmaService.insereTurma(turma);
addActionMessage("Inserido com sucesso!");
return listarTurmas();
} catch (RuntimeException e) {
addActionError("Erro ao gravar a turma. " + e.getCause());
return "erro";
}
}
public List<Turma> getListaTurmas() {
return listaTurmas;
}
public void setListaTurmas(List<Turma> listaTurmas) {
this.listaTurmas = listaTurmas;
}
public TurmaBO getTurmaService() {
return turmaService;
}
public void setTurmaService(TurmaBO turmaService) {
this.turmaService = turmaService;
}
public Turma getTurma() {
return turma;
}
public void setTurma(Turma turma) {
this.turma = turma;
}
public Map getSession() {
return session;
}
public void setSession(Map session) {
this.session = session;
}
}