2011-06-13 40 views
0

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目錄下。 源碼包 - > vannilla-> HelloWorld是動作類的動作位置。

誰能幫助我

+1

移動'struts.xml'任何'classpath'('[項目] \ src'或'WEB-INF \ classes'或'etc') – lschin 2011-06-13 09:31:33

+1

是它working.thks ....但爲什麼netbeans創建struts.xml在web-inf ...當我在源文件包中的文件轉移它的工作。什麼原因 – coder 2011-06-13 09:58:32

回答

0

似乎在web.xml文件的問題試圖改變過濾器類來過濾調度然後嘗試..我希望它會正常工作。

struts2的

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

+1

'web.xml'沒有錯, FilterDispatcher'被棄用,並被'StrutsPrepareAndExecuteFilter'取代。 – lschin 2011-06-13 09:45:05

+0

是的,我知道,但是,嘗試改變它與filterdispatcher然後看到,如果仍然沒有映射消息那麼我們會嘗試其他的東西,因爲其他的代碼對我來說似乎很好。 – jalil 2011-06-13 11:32:04