我想通过action把参数从一个页面传到另一个页面上,但总是出现404错误,到底是怎么回事啊!我检查N遍配置文件了 都没有错,还请高手指点一下:
struts.xml://struts.xml是放在class目录下,还是放在src目录下呢?我放到了class目录下面
<?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>
    <include file="struts-default.xml"/>
    <package name="test" extends="struts-default">
        <action name="hello" class="test.Hello">
            <result>result.jsp</result>
        </action>
    </package>
</struts>PostP.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">
<title>To past paramter</title>
</head>
<body>
<h2>please input you name:</h2>
<form action="hello.action" method="post">
<input type="text" name="name"></input><br></br>"
<input type="submit" value="submit" align="right"/><input type="reset" value="reset"align="left"></form>
</body>
</html>
result.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">
<title>come to the result</title>
</head>
<body>
<h2>Hello to you!</h2>
${name}
</body>
</html>
Hello.action:
package test;import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")
public class Hello extends ActionSupport {
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
public String execute(){
return "success";
}
}
请高手给予指导:我是在哪里出错了,为何会出现这种错误,迫切渴望得到答案

解决方案 »

  1.   

    随便放在哪里,自己在web.xml里面配置下就好了。
    我是习惯丢在src下面,打开快,class需要好几层 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
    classpath*:/applicationContext.xml,
    classpath*:/applicationContext_*.xml
    </param-value>
    </context-param>
     There is no Action mapped for namespace / and action 
    是配置的错误,找不到
      

  2.   

    最终 你要 确保 struts.xml 在
    WEB-INF\classes
    这个文件的目录里面
      

  3.   

     谢谢大家,问题解决了,很可恶,是Tomcat的配置原因,我用的Tomcat有点问题
      

  4.   

    楼主能把你的Tomcat的修改过程发出来 吗,我也遇到了同样的问题。谢谢了 
      

  5.   

    也不一定是tomcat 的原因。可以重新换一个tomcat试试。 
      

  6.   

    我下了一个struts2.1.8,然后就开始做一个Helloworld程序,接着就发生了There is no Action mapped for namespace / and action name的异常,我很纳闷,然后到百度上搜了一下,发现铺天盖地的都是这个异常,长达4页多,但是都没能解决我的问题。经过研究,我终于发现异常产生的原因,非常兴奋,由于用文字难以表述这个异常,于是我特别为这个异常录制了一集28分钟的视频,这个异常非常有意思。如果谁遇到了这个异常,而你又不知道为什么,那么请留下联系方式,我会将这个28分钟的视频传给你,里面清楚的阐述了异常的原因,以及如何避免这个异常的产生。最好留下QQ号码,如果email的话,怕传不了,视频大小30M。你也可以加这个QQ号码:215498544,我会把视频传给,你会发现这是个非常有意思的异常。
    视频下载地址:http://download.csdn.net/detail/zudajun225/3581893