Pessoal, estou iniciando agora no Struts 2 e iniciei pelo básico, com um HelloWorld. Segui um exemplo, mas aparece o seguinte erro: Could not find action or result
There is no Action mapped for namespace / and action name HelloWorld. - [unknown location]
Alguém poderia dá uma olhada nesse codigo e dá uma ajuda?!
Código do meu struts.xml
packageaction;importcom.opensymphony.xwork2.ActionSupport;publicclassHelloWorldextendsActionSupport{privatestaticfinalStringMESSAGE="Struts estar sendo executado!";publicStringexecute(){setMessage(MESSAGE);return"sucess";}privateStringmessage;publicvoidsetMessage(Stringmessage){this.message=message;}publicStringgetMessage(){returnmessage;}}
fiz a alteração… dentro do corpo da minha JSP, mas mesmo assim nao encontrou a action… mesmo erro.
type Status report
message There is no Action mapped for namespace / and action name HelloWorld.
description The requested resource (There is no Action mapped for namespace / and action name HelloWorld.) is not available.
E
edysnipes
Opa!
Tenta alterar essa linha no struts.xml
<result>/Hell......</result>
para
<resultname="success">/Hel....</result>
V
viniciusfip
tinha tentado isso já, mas agora fiz novamente e o erro persiste em aparecer… ô HelloWorld pra da trabalho esse!
C
cris.t
Olha eu criei uma página teste.jsp e coloquei:
<s:urlaction="HelloWorld"/>
Desta maneira ela chama a Action executa o metodo execute e seta a mensagem, porém ela não chama o metodo get da Action e então aparece o endereço da action na tela
Eu fiz um Hello World aqui, ta explicando todos os passos, c vc quiser tentar fazer:
V
viniciusfip
se na HelloWorld.jsp eu passar <s:url action=“HelloWorld” /> e chamar no browser HelloWorld.jsp aparece o seguinte: /ProjetoStruts/HelloWorld.action
a extensão nao tem que ser .action?!
V
viniciuspadua
onde colocou
<action name ="HelloWorld" class="action.HelloWorld">
troque por
<action name ="Helloworld" class="action.HelloWorld">
tirando o W de maiúsculo!!
agora na url coloque http://localhost:8080/ProjetoStruts/helloworld.action .
tive alguns problemas quando colocava o nome da action com mais de uma letra maiúscula!
Uso annotation, mais creio que possa ser o mesmo erro.
V
viniciusfip
nã, insiste no mesmo erro!!! oq será essa praga!
type Status report
message: There is no Action mapped for namespace / and action name Helloworld.
description: The requested resource (There is no Action mapped for namespace / and action name Helloworld.) is not available.
V
viniciusfip
Pessoal, resolvi segui o exemplo que o cris tinha feito… no entanto ainda insiste em aparecer o erro: SEVERE: Could not find action or result
There is no Action mapped for namespace / and action name Hello. - [unknown location]
Alguém poderia dizer o porque desse erro?!
segue o novo codigo da classe HelloWorld.java:
packageaction;importcom.opensymphony.xwork2.ActionSupport;publicclassHelloWorldextendsActionSupport{publicHelloWorld(){}privateStringmessage;publicStringexecute(){message="Hello World !!!!!!!!!!";return"sucess";}publicvoidsetMessage(Stringmessage){this.message=message;}publicStringgetMessage(){returnmessage;}}
codigo da JSP HelloWorld:
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Hello Struts 2</title></head><body><%@taglibprefix="s"uri="/struts-tags"%>
Hello Struts 2 <s:propertyvalue="message"/></body></html>
codigo do struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts (View Source for full doctype...)>
-<struts><includefile="struts-default.xml"/>
-<packagename="defaut"extends="struts-default">
-<actionname="Hello"class="action.HelloWorld"><resultname="sucess">HelloWorld.jsp</result></action></package></struts>
codigo da pagina index.jsp
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Index - Hello World Struts 2</title></head><body><%@taglibprefix="s"uri="/struts-tags"%><s:ahref="Hello.action">Clique aqui!</s:a></body></html>
C
cris.t
Olá Vinícius,
Acabei de baixar o projeto do blog, adicionei as libs e rodou normalmente.
Tentei fazer o seu projeto porém insiste na exception, muito estranho, pois ele diz não está encontrando o mapeamento da Action ou o resultado, neste caso, success, porém aparentemente o mapeamento parece estar correto.
V
viniciusfip
pois eh cris, não consigo enxergar o que pode está errado! será algum problema com o Struts? ou eh preciso rodar alguma coisa antes para que comece a aceitar novas aplicações? não sei! pois como vc falou, não consigo achar nenhum erro quanto ao mapeamento, alguem poderia me ajudar e dizer o porque meu projeto nao roda?! Alguem poderia me dizer qual é o problema?! vlw
C
cris.t
Qual versão vc está usando?
V
viniciusfip
a versão eh a 2.0.14.
ainda nao consegui resolver o problema…
C
cris.t
No exemplo que eu te mostrei do blog eu estou utilizando a versão 2.0.11, me lembro que tive alguns problemas com a versão 2.0.14 por isso utilizei a anterior, tenta trocar a versão, não custa tentar!!