Creio que não, pois estava utilizando o retorno tal qual mapeado e a action não executava da mesma forma. A alteração do retorno em caixa-baixa foi para ver se o erro iria persistir.
ao invés de usar a tag result tente usar esta <forward name="iniciar" path="/pages/contato_form_s.jsp" />. Só para testar realmente.
E quanto a questão do drigo, acredito que não seja por causa da caixa, porque tenho mapamentos desse tipo, caixas trocadas, em um projeto recente. Então acho que ainda não é esse o problema.
Não, como disse antes, eu tenho essas diferenças em um projeto recente e não faz nenhuma diferença.
E outra, tem de ser SUCCESS, INPUT ou ERROR. Estes são constantes, e não objeto String, encontradas no framework da versão 2, que é a versão que ele está usando.
Será que não é a diferença do arquivo XML para o retorno?
Repare que no xml está em minúsculo (success) e no método em maiúsculo (SUCCESS)[/quote]
Não acredito que faça diferença pois quando você usa SUCCESS na classe action do Struts2 está usando o atributo estático e quando usa
“success” ele sabe que tende linkar com o success…
[quote=Marcio_Nogueira]Olá, estou tendo o seguinte problema:
minha action não está sendo executada, algém poderia dar uma dica de como resolver este problema?
Segue o código de meu struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
[code]
<packege name="default" extends="struts-default">
<!-- mapeamento das actions da aplicação -->
<action name="HelloWorld" class="action.HelloWorldAction">
<param name="method"/>
<result name="success">/success.jsp</result>
</action>
</packege>
[/code]
minha action:
[code]package action;
public class HelloWorldAction{
private static final long serialVersionUID = 1L;
private String mensagem;
public String testa() throws Exception {
this.setMensagem("Hello World com Struts 2" );
return "SUCCESS";
}
public String getMensagem() {
return this.mensagem;
}
public void setMensagem(final String mensagem) {
this.mensagem = mensagem;
}
}[/code][/quote]
Marcio, acredito que você deveria herdar o método execute… Aliás, vc está usando qual versão do Struts?
Consegui fazer com que minha action seja executada, porém, gera o seguinte erro:
There is no Action mapped for 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.components.ActionComponent.executeAction(ActionComponent.java:249)
at org.apache.struts2.components.ActionComponent.end(ActionComponent.java:155)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
at org.apache.jsp.index_jsp._jspx_meth_s_005faction_005f0(index_jsp.java:209)
at org.apache.jsp.index_jsp._jspx_meth_s_005fsubmit_005f0(index_jsp.java:178)
at org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:116)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:75)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:416)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
meu struts.xml:
[code]<?xml version="1.0" encoding="UTF-8"?>
<packege name="action" extends="struts-default">
<!-- mapeamento das actions da aplicação -->
<action name="helloworld" class="action.HelloWorldAction" method="execute">
<s:param name="method"/>
<result type="success">/success.jsp</result>
</action>
</packege>
coloque em cima da função que vc quer chamar.use a anotação @Action somente para Structs2 e tenta novamente, lembrando que os arquivos .jsp devem ficar dentro da pasta content, caso fiquem na pasta principal utilizar a barra invertida…