Classe não aceita @Override !?

4 respostas
felipe_thrash

Caros,

no curso FJ-21, na parte de Struts, estou fazendo exemplo e não ta funfando

package action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



public class TesteSimplesAction {

	@Override
	public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest
	request, HttpServletResponse response) throws Exception {
	System.out.println("Executando o código da lógica de negócios...");
	return map.findForward("ok");
	}	
	
}

o erro que dá:

The method execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) of
type TesteSimplesAction must override a superclass method

Annotations são bem complicadas mesmo...

tirando o @Override, o erro sai... mas o tomcat aponta outro erro...

alguem me da uma mão ???

valew!

4 Respostas

fpavao

Cara…

Tu tem que herdar de Action… (org.apache.struts.action) , a anotação @Override indica que vc esta sobrescrevendo um método, por isto que quando vc tira a annotation o erro sai ( vc não esta nem herdando nem sobrescrevendo…) mas tb não funciona, ou seja…precisa herdar, e quanto a annotation…poêm se quiser, não precisa dela ai não…

[]'s

felipe_thrash

Fernando,

herdar é muuuuuito diferente de importar, certo!?
poderia me mostrar como ? isso daqui é um exemplo bem basicão... olha só:

no meu struts-config.xml:
<actionmappings>
<action path="/teste" type="action.TesteSimplesAction">
<forward name="ok" path="/exemplo.jsp"/>
</action>
</actionmappings>

redirecionando para uma jsp Hello world !

rodo e no tomcat me aparece:
root cause 

java.lang.ClassCastException: action.TesteSimplesAction cannot be cast to org.apache.struts.action.Action
	org.apache.struts.chain.commands.servlet.CreateAction.createAction(CreateAction.java:98)
	org.apache.struts.chain.commands.servlet.CreateAction.getAction(CreateAction.java:68)
	org.apache.struts.chain.commands.AbstractCreateAction.execute(AbstractCreateAction.java:91)
	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
nbluis
public class TesteSimplesAction extends Action {
  /*...*/
}
felipe_thrash

ainda serei bom assim! :smiley:

valew nbluis !!! :smiley: :smiley: :smiley:

Criado 7 de janeiro de 2008
Ultima resposta 7 de jan. de 2008
Respostas 4
Participantes 3