myeclipse 8.0 GA
1、新建空web project 名myweb
右击myweb-Myeclipse->Add Struts Capabiliti……->struts 2.1
把名就改为了struts.xml   
Finish
自动生成了struts.xml 添加struts-core……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">
  <welcome-file-list>
    <welcome-file>index.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>
2、打开index.jsp添加代码如下:
  <body>
  <form action="login.action" method="post">
     输入姓名:<input type="text" name="username"/>
  <input type="submit" value="登录"/><br>
    This is my JSP page. <br>
  </form>
  </body>
3、在src下添加包action,在action包下添加类LoginAction.javapackage action;public class LoginAction {
     private String username;
     public String execute()throws Exception
     {
      if(getUsername().equals("zqq"))
      {
      return "success";
      }
      else
      {
      return "error";
      }
     } public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
}
}
4、添加两个页面。一个error.jsp,一个welcome.jsp
修改 struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
   <package name="struts" extends="struts-default">
    <action name="login" class="action.LoginAction">
     <result name="error">/error.jsp</result>
     <result name="success">/welcome.jsp</result>
    </action>
   </package>
</struts> 
   
ok,部署tomcat 
输入
http://localhost:8080/myweb/index.jsp打开后:对话框输入zqq结果:
type Status reportmessage No result defined for action action.LoginAction and result successdescription The requested resource (No result defined for action action.LoginAction and result success) is not available.
若打开index.jsp对话框输入不是zqq,则结果
type Status reportmessage No result defined for action action.LoginAction and result errordescription The requested resource (No result defined for action action.LoginAction and result error) is not available.
检查struts.xml有配置<result>,实在是找不到原因。。

解决方案 »

  1.   

    在你的配置文件里 这个action的result没有配置error<action name="jsonAjax" class="ajaxAction">
    <result>/WEB-INF/pages/error/errorJson.jsp</result>
    <result name="error"></result>
    </action>没配上面的红色区域吧
      

  2.   

    有配, 页面都在 WebRoot根目录下……
    <package name="struts" extends="struts-default">
    <action name="login" class="action.LoginAction">
    <result name="error">/error.jsp</result>
    <result name="success">/welcome.jsp</result>
    </action>
    </package>
      

  3.   

    form表单的action属性直接写login试试看。
      

  4.   

    <package name="struts" extends="struts-default" namespace="/">
      

  5.   

    这个struts2.1用myeclipse自动生成还是有问题,你还是用myeclipse6.5搭建struts2环境吧
      

  6.   

    you do not deploy success.jsp and error.jsp?
      

  7.   

    没有用过Eclipse自动生成。
    <result>/welcome.jsp</result><result name="error">/error.jsp</result>
    不写name=“success”,会默认是成功的页面。
    把tomcat中项目重新加载几次,在action中return返回值前面,写几个打印语句System.out.println("aaa");调试一下,不是什么大的问题
      

  8.   

    的确是因为package 没有配置namespace属性
      

  9.   

    没配置namespace这个不是根本问题.!  不要乱说话撒.!  默认包是会捕捉所有的action,就是说你到某个包下面去找action没找到就会去找默认包,  默认包没有才404!
      

  10.   

    弱弱的问一句,是不是在struts2.1.8之后的action类中都不要继承ActionSuport这个类了呢?
      

  11.   

    看这个提示应该是找不到重定向的URL啊
      

  12.   

    不管哪个版本, 只要你不用到国际化或者数据校验, 都不用继承ActionSupport
      

  13.   

    LZ,去你服务器的classes根目录看看你的struts.xml是什么样子的配置