immer Fehlermeldung "Es ist keine Aktion zugeordnet-namespace / und Namen für die Aktion ein LoginAction" in struts2

Meine struts.xml unter " src " - und die action-Klasse ist in einem Paket 'login'.

Hier ist meine 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="example"  extends="json-default">
     <action name="login" class="login.LoginAction">
        <result type="json"/>
     </action>
  </package>

</struts>

Meine jsp(Es ist unter /LoginEx/WebContent/Login.jsp):

<%@ page language="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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<%@ taglib prefix="s" uri="/struts-tags" %>
</head>
<body>
    <s:form action="login.action" method="post" validate="true">
        <s:textfield label="User Id" name="userId"></s:textfield>
        <s:password name="password" label="Password"></s:password>
        <s:submit value="Login"></s:submit>
    </s:form>
</body>
</html>

Die execute-Methode in der action-Klasse:

public String execute(){
    JSONObject json = new JSONObject();
    json.put("success", "true");
    return Action.SUCCESS;
}

Wenn ich versuche zu laufen, appn, bekomme ich die Fehlermeldung "Es ist keine Aktion zugeordnet-namespace /und action-name-login".
Könnte some1 plz help me out hier. Was mache ich falsch?

Hier ist der stack-trace:
Hier ist der stack trace:

WARNING: Could not find action or result
There is no Action mapped for namespace /and action name login. - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)
    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:859)
    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)
plz liefern stack-trace, die helfen können, besser Weg!! aus der ersten Stelle scheint es einige Fehler, die mit der Zuordnung
Ist LoginAction im login-Paket? Wenn dem so ist, haben Sie keine stack-traces in Ihren server log?
ja die LoginAction ist im login-Paket. Ich habe die stack-trace.
Fügen Sie die struts2 config browser-plugin, siehe diese Seite: struts.apache.org/2.x/docs/config-browser-plugin.html, dann werden Sie in der Lage zu besuchen eine Seite, die Ihnen sagen, alle Aktionen struts2 bewusst ist (es ist sehr einfach zu bedienen und ideal für sanity checks). Denken Sie, die struts.xml Datei abgeholt wird? Wenn die Anwendung startet sollte es Protokolle, die besagt, dass die Datei gerade verwendet wird.
Könntest du namespace="" zu Ihrem s:form und sehen, ob das funktioniert?

InformationsquelleAutor rahul | 2011-08-06

Schreibe einen Kommentar