HTTP Status 404 - No result defined for action org.cxj.action.LoginAction and result success
我的配置:
用的是MyEclipse8.5,创建Web Project时选的J2EE 5.0
WebRoot目录下的Hello.jsp:
  <body>
    <form action="login.action" method="post">
      <input type="text" name="user" />
      <input type="submit" value="submit" />
    </form>
  </body>在src中新建了一个org.cxj.action,里面建了一个LoginAction类,内容如下:
package org.cxj.action;public class LoginAction {
private String user; public String getUser() {
return user;
} public void setUser(String user) {
this.user = user;
}

public String execute() {
return "success";
}
}在src中建一个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="struts2" namespace="" extends="struts-default">
        <action name="login" class="org.cxj.action.LoginAction" method="execute" >
<result name="success">/Hello.jsp</result>
<result name="input">/Hello.jsp</result>
        </action>
    </package> 
</struts>WEB-INF中web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>Tomcat中sever.xml中加入:
<Context path="/test" docBase="H:\Java\MyEclipse\struts2Demo\WebRoot" reloadable="ture" />Hello.jsp可以打开,但按下submit后就出现第一行的错误
刚开始学,不太懂,请教各位大侠~PS:还有个问题就是我在Tomcat中设置了listings为true,但打开这个项目的http://localhost/test/时无法显示列表,提示
HTTP Status 404 - There is no Action mapped for namespace / and action name .

解决方案 »

  1.   

    导入的包有
    commons-fileupload-1.2.1
    commons-logging-1.0.4
    freeer-2.3.15
    ognl-2.7.3
    struts2-convention-plugin-2.1.8.1
    struts2-core-2.1.8.1
    xwork-core-2.1.6
      

  2.   


    package org.cxj.action;public class LoginAction {
        private String user;    public String getUser() {
            return user;
        }    public void setUser(String user) {
            this.user = user;
        }
        
        public String execute() {
            return SUCCESS;// =====================
        }
    }
      

  3.   

    换成SUCCESS后提示说:
    java.lang.Error: Unresolved compilation problem: 
    SUCCESS cannot be resolved org.cxj.action.LoginAction.execute(LoginAction.java:17)
      

  4.   


    package org.cxj.action;public class LoginAction implements Action{  //这里实现个接口
        private String user;    public String getUser() {
            return user;
        }    public void setUser(String user) {
            this.user = user;
        }
        
        public String execute() {
            return SUCCESS;// =====================
        }
    }
    <?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="struts2" namespace="" extends="struts-default">
            <action name="login" class="org.cxj.action.LoginAction" >  // method="execute"这里把method去掉
                <result name="success">/Hello.jsp</result>
                <result name="input">/Hello.jsp</result>
            </action>
        </package> 
    </struts>再试试
      

  5.   

    还是一样的问题....提示
    java.lang.Error: Unresolved compilation problem:  
    SUCCESS cannot be resolvedorg.cxj.action.LoginAction.execute(LoginAction.java:17)
      

  6.   

    LoginAction implements ActionSupport<package name="struts2" extends="struts-default">
            <action name="login" class="org.cxj.action.LoginAction">
                <result>/Hello.jsp</result>
                <result name="input">/Hello.jsp</result>
            </action>
        </package> 
      

  7.   


    出现错误:
    java.lang.Error: Unresolved compilation problems: 
    The type ActionSupport cannot be a superinterface of LoginAction; a superinterface must be an interface
    SUCCESS cannot be resolved我改成
    extends ActionSupport,并导入import com.opensymphony.xwork2.ActionSupport;
    点击Hello.jsp上的submit出现错误:
    No result defined for action org.cxj.action.LoginAction and result success
      

  8.   

    问题解决了,我把lib下的struts2-convention-plugin-2.1.8.1包删掉就好了,原来包多也不是好事
    谢谢各位!