【问题标题】:action is not getting mapped in struts动作没有在struts中映射
【发布时间】:2011-06-13 08:53:04
【问题描述】:

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>

成功.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目录下。 Source Package->vannilla->HelloWorld是action类的action位置。

谁能帮帮我

【问题讨论】:

  • struts.xml移动到任何classpath[project]\srcWEB-INF\classesetc
  • 是的,它有效。thks....但是为什么 netbeans 在 web-inf 中创建 struts.xml...当我在源包中转移文件时它有效。原因是什么

标签: struts2


【解决方案1】:

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

struts2

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

【讨论】:

  • web.xml没有错,FilterDispatcher被弃用,替换为StrutsPrepareAndExecuteFilter
  • 是的,我知道,但是,尝试用 filterdispatcher 更改它,然后看看,如果仍然没有映射消息,那么我们将尝试其他的东西,因为其余的代码对我来说似乎很好。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-16
相关资源
最近更新 更多