Struts 2 : Es ist keine Aktion zugeordnet-namespace [/]
Ich bin neu in Struts 2 und ich war nach einem video-tutorial auf Struts 2(Koushik). Ich habe das Struts.xml die action-Klasse und JSPs gleiche, wie in dem tutorial. Aber es gibt die folgende Ausnahme.
Ausnahme:
Jan 13, 2014 9:30:48 PM org.apache.struts2.dispatcher.Dispatcher warn
WARNING: Could not find action or result: /Struts2Starter/getTutorial.action
There is no Action mapped for namespace [/] and action name [getTutorial] associated with context path [/Struts2Starter]. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:552)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
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">
<action name="getTutorial" class="org.koushik.javabrains.action.TutorialAction">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Struts2Starter</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
TutorialAction.java (Action-Klasse, die ich verwende)
package org.koushik.javabrains.action;
public class TutorialAction {
public String execute(){
System.out.println("Hello from execute");
return "success";
}
}
Projektstruktur
Erfolg.jsp und error.jsp sind normale jsp-Dateien mit text. Ich habe eine Menge Dinge, um dieses Problem zu beheben, indem Sie googeln. Aber nichts nicht lösen. Bitte lassen Sie mich wissen, wenn jemand weiß, was hinter diesem. Ich Schätze es hoch. 🙂
Ändern
Vielen Dank, Aleksandr M. Es funktionierte wie ein Charme!!! 🙂
Struts.xml
zu struts.xml
.Vielen Dank, Aleksandr M. Es funktionierte wie ein Charme!!! 🙂
InformationsquelleAutor Amila Fonseka | 2014-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Umbenennen
Struts.xml
Namenskonventionstruts.xml
arbeiten.InformationsquelleAutor balaji
Die Meldung von Fehler klar sagt, dass
Dies bedeutet, dass die action-Konfiguration ist nicht zur Laufzeit verfügbar. Überprüfen Sie heraus die config-browser plugin debug-Konfiguration.
Map korrekt url zu der Aktion sind zwei Parameter erforderlich: der name der Aktion und der namespace.
Streben lädt xml-Konfiguration beim Start und sollte es wissen, die Lage der
struts.xml
. Standardmäßig sieht es auf classpath zu finden eine Datei mit bekannten Namen wiestruts.xml
. Dann analysiert Dokument und erstellt eine runtime-Konfiguration. Diese Konfiguration wird verwendet, um geeignete configuration-element für die action-url. Wenn kein solches element gefunden wird, bei der Anforderung, die 404-error-code zurückgegeben wird, mit der Meldung:There is no Action mapped for namespace and action name
.Auch diese Nachricht enthält einen namespace-und action-Namen verwendet, um die Aktion config. Dann können Sie überprüfen Sie Ihre Konfigurationseinstellungen im
struts.xml
. Manchmal wird der action-name und namespace gespeichert inActionMapping
Punkt für die falsche Aktion. Diese Werte werden ermittelt, indem dieActionMapper
, die unterschiedliche Implementierung von plugins.Es gibt auch eine andere Einstellung, die beeinflussen könnten, dieser mapper und mapping, aber der Punkt ist der gleiche, wenn Sie diese Meldung erhalten, dann URL nicht anzeigen jede Aktion config in der runtime-Konfiguration. Wenn Sie können nicht erkennen, welche URL sollte man verwenden, könnten Sie versuchen, config-browser plugin, um die Liste der URLs zur Verfügung.
Es scheint Sie leider nicht, denn Sie haben immer noch die gleiche exception. markieren Sie diese Antwort als akzeptierte und upvote, wenn Sie wollen Dank.
InformationsquelleAutor Roman C
ändern Sie Ihre
Struts.xml
und setzen<constant name="struts.devMode" value="true" />
imstruts.xml
Development mode or devMode
es ermöglicht, zusätzliche debugging und hilft indebuggingprobieren Sie folgenden code
InformationsquelleAutor Raju Rathore
U nur auf die überprüfen müssen, dass der name der Aktion ist ständige überall...ich hatte auch gleiche problem habe ich gelöst durch das entfernen von namespace, da es nicht nötig ist, was ich sehen u nicht erwähnt haben und auch ich hatte verschiedene Namen für die Aktion ein bei der loginpage.jsp und struts.xml Seite.. also einfach siehe ur name der Aktion
InformationsquelleAutor shashi mishra
Ihre JSP-Datei sollte nicht unter der WEB-INF Ordner, aber sollte unter der web-Ordner. Ich habe angeschlossen ein Bild, um Ihnen die richtige Hierarchie.
- Ordner-System
InformationsquelleAutor 袁一峰
Habe ich nur das tutorial und hatte das gleiche problem. Es stellt sich heraus, das problem war die struts.xml die Datei war in der falschen Position. Stellen Sie sicher, dass Ihr struts.xml die Datei liegt hier: /Struts2Starter/src/struts.xml
InformationsquelleAutor tony huynh