动作没有在struts中映射

时间:2011-06-13 08:53:04

标签: struts2

struts.xml中

  <struts>
<!-- Configuration for the default package. -->
<package name="default"  extends="struts-default">
     <action name="HelloWorld" class="vaannila.HelloWorld">
  <result name="SUCCESS">/success.jsp</result>
 </action>
 </package>
</struts>

的web.xml

 <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>

的index.jsp

  <%@taglib uri="/struts-tags" prefix="s" %>
  <html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Hello World</title>
  </head>
   <body>
    <s:form action="HelloWorld" >
        <s:textfield name="userName" label="User Name" />
        <s:submit />
    </s:form>
</body>

的success.jsp               

    

HelloWorld.java

   package vaannila;


public class HelloWorld {

private String message;

private String userName;

public HelloWorld() {
}


  public String execute()  {



    setMessage("Hello " + getUserName());
    return "SUCCESS";
}

public String getMessage() {
    return message;
}


public void setMessage(String message) {
    this.message = message;
}


public String getUserName() {
    return userName;
}


public void setUserName(String userName) {
    this.userName = userName;
}}
我得到的

错误信息是

HTTP状态404 - 没有为动作名称HelloWorld映射动作。

我正在使用netbeans ide 6.8

struts.xml,web.xml文件位于WEB-INF目录下。 源包 - &gt; vannilla-&gt; HelloWorld是动作类的动作位置。

任何人都可以帮助我

1 个答案:

答案 0 :(得分:0)

似乎web.xml文件中的问题尝试更改过滤器类以过滤调度程序然后尝试..我希望它能正常工作。

    struts2的

   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class>