There is no Action mapped for action name HelloWorld. - [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)
Eu estou seguindo um exemplo de um tutorial, e ele por enquanto não me pediu para criar o struts-config.xml só o struts.xml é a mesma coisa?
Meu struts.xml está assim:
public class HelloWorld extends ActionSupport {
public static final String MESSAGE = “Struts is up and running”;
public String execute() throws Exception{
setMessage(MESSAGE);
return SUCCESS;
}
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
Cara…você precisa SIM do struts-config, e é justamente este o erro que esta dando…ele não esta mapeando sua Action.
O struts-config seria algo mais ou menos assim:
ManchesteR, muito obrigado pelo link e pela ajuda, mas ainda está dando erro, eu fiz como está no link que você me falou também e coloquei o struts.xml dentro do web-inf.
rockStorm: o struts.xml é o próprio struts-config.xml, porém o struts.xml é a versão do struts 2 que parece ser mais fácil. você tem que usar novo dtd.
There is no Action mapped for namespace / and action name HelloWorld. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
Bom, não sei o que fazer, vou continuar tentando arrumar o erro, se descobrirem o erro por favor me falem!
galera será que eu não tenho que especificar no web.xml o struts.xml como o nosso amigo falou?
aí está sendo especificado o struts-config.xml como param-value.
Eu acabei de fazer o mesmo exemplo usando os dados do blog (menos o web.xml que eu modifquei, tirei alguns dados do filter que são usados em mapemento de annotations).
Funcionoooouuu!!!
o erro foi seguinte:
aonde eu estou retornando a string success ela estava sendo passada sem ser string por exemplo
SUCCESS, sendo que deveria ser “success” que é o nome que eu coloquei no struts.xml em result!
valeu pela ajuda galera, agora posso almoçar tranqüilo!!!
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
private static final long serialVersionUID = 1L;
public String execute() throws Exception{
setMessage("Hello World");
System.out.println("estou aqui"+ SUCCESS);
return "success";
}
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}