2012-12-11 275 views
1

這是我第一次使用Struts和我建立一個非常簡單的程序
但我總是得到這個錯誤:(
我GOOGLE了這2天,但我類型是肯定正確 這裏是我的代碼:
HTTP狀態500 - 在Struts1的用於路徑無操作情況下

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 

    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  "http://java.sun.com/dtd/web-app_2_3.dtd"> 

    <web-app> 
<filter> 
    <filter-name>SetCharacterEncoding</filter-name> 
    <filter-class>tw.com.whichone.filter.SetCharacterEncodingFilter</filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>SetCharacterEncoding</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<filter> 
    <filter-name>whichone</filter-name> 
    <filter-class>tw.com.whichone.filter.CheckParameter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>whichone</filter-name> 
    <url-pattern>*.whichone</url-pattern> 
</filter-mapping> 


<!-- Standard Action Servlet Configuration (with debugging) --> 
<servlet> 
    <servlet-name>action</servlet-name> 
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 
    <init-param> 
     <param-name>config</param-name> 

     <param-value>/WEB-INF/conf/struts-config.xml</param-value> 
    </init-param> 
    <init-param> 
     <param-name>debug</param-name> 
     <param-value>2</param-value> 
    </init-param> 
    <init-param> 
     <param-name>detail</param-name> 
     <param-value>2</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<!-- servlet-mapping --> 

<servlet-mapping> 
    <servlet-name>action</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 


<taglib> 
    <taglib-uri>http://jakarta.apache.org/struts/tags-bean</taglib-uri> 
    <taglib-location>/WEB-INF/tlds/struts-bean.tld</taglib-location> 
</taglib> 

<taglib> 
    <taglib-uri>http://jakarta.apache.org/struts/tags-logic</taglib-uri> 
    <taglib-location>/WEB-INF/tlds/struts-logic.tld</taglib-location> 
</taglib> 

<taglib> 
    <taglib-uri>http://jakarta.apache.org/struts/tags-html</taglib-uri> 
    <taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location> 
</taglib> 

<taglib> 
    <taglib-uri>http://jakarta.apache.org/struts/tags-nested</taglib-uri> 
    <taglib-location>/WEB-INF/tlds/struts-nested.tld</taglib-location> 
</taglib> 

<taglib> 
    <taglib-uri>http://jakarta.apache.org/struts/tags-tiles</taglib-uri> 
    <taglib-location>/WEB-INF/tlds/struts-tiles.tld</taglib-location> 
</taglib> 


的struts-config

<?xml version="1.0" encoding="UTF-8"?> 

    <!DOCTYPE struts-config PUBLIC 
     "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" 
     "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> 

    <struts-config> 
<form-beans> 
    <form-bean type="org.apache.struts.action.DynaActionForm" 
     name="Store_Data"> 
     <form-property type="java.lang.String" name="one" /> 
     <form-property type="java.lang.String" name="StoreSeqNo" /> 
     <form-property type="java.lang.String" name="StoreName" /> 
     <form-property type="java.lang.String" name="StoreOwner" /> 
     <form-property type="java.lang.String" name="StoreAddress" /> 
     <form-property type="java.lang.String" name="StorePhone" /> 
     <form-property type="java.lang.String" name="StoreOpenDate" /> 

     <!-- "回首頁"連結清session專用變數 --> 
     <form-property type="java.lang.String" name="CleanSession" /> 
    </form-bean> 
</form-beans> 

<global-forwards> 
    <forward path="/success.html" name="Success" /> 
    <forward path="/error.html" name="Error" /> 
</global-forwards> 

<action-mappings> 
    <action path="/Store_Data_Parised" type="action.Store_Data_Parised" 
     name="Store_Data" scope="request" validate="false" parameter="one"> 
    </action> 
</action-mappings> 


<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" /> 
<message-resources parameter="MessageResources" /> 
<plug-in className="org.apache.struts.tiles.TilesPlugin"> 
    <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"  
    /> 
    <set-property property="moduleAware" value="true" /> 
</plug-in> 
<plug-in className="org.apache.struts.validator.ValidatorPlugIn"> 
    <set-property property="pathnames" 
     value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /> 
</plug-in> 
    </struts-config> 

的index.html

<html> 
    <head> 
    <title>Test Page</title> 
    </head> 


    <body> 
<form action="Store_Data_Parised.do?one=insert"> 
    <hr></hr> 
    <h3>Add new store</h3> 
    <table border="1" bordercolor="black"> 
     <tr> 
      <td align="right">Store Name:</td> 
      <td colspan="3"><input type="text" name="StoreName" 
       maxlength="20" /></td> 
     </tr> 
     <tr> 
    </table> 

    <table border="1" bordercolor="black"> 
     <tr> 
      <td align="right">Store Owner:</td> 
      <td colspan="3"><input type="text" name="StoreOwner" 
       maxlength="20" /></td> 
     </tr> 
     <tr> 
    </table> 

    <table border="1" bordercolor="black"> 
     <tr> 
      <td align="right">Store Address:</td> 
      <td colspan="3"><input type="text" name="StoreAddress" 
       maxlength="20" /></td> 
     </tr> 
     <tr> 
    </table> 

    <table border="1" bordercolor="black"> 
     <tr> 
      <td align="right">Store Phone:</td> 
      <td colspan="3"><input type="text" name="StorePhone" 
       maxlength="20" /></td> 
     </tr> 
     <tr> 
    </table> 

    <table border="1" bordercolor="black"> 
     <tr> 
      <td align="right">OpenDate:</td> 
      <td colspan="3"><input type="text" name="StoreOpenDate" 
       maxlength="20" /></td> 
     </tr> 
     <tr> 
    </table> 
    <hr></hr> 
    <input type="submit" value="Add" /> 

</form> 
</body> 
</html> 

Store_Data_Parised.java

  public class Store_Data_Parised { 

    public ActionForward insert(ActionMapping mapping, ActionForm form, 
     HttpServletRequest request, HttpServletResponse response) 
     throws Exception { 

    DynaActionForm Form = (DynaActionForm) form; 
    String one = (String) Form.get("one"); 
    String StoreName = (String) Form.get("StoreName"); 
    String StoreOwner = (String) Form.get("StoreOwner"); 
    String StoreAddress = (String) Form.get("StoreAddress"); 
    String StorePhone = (String) Form.get("StorePhone"); 
    String StoreOpenDate = (String) Form.get("StoreOpenDate"); 

    try { 

     Map criteria = new HashMap(); 
     criteria.put("StoreName", StoreName); 
     criteria.put("StoreOwner", StoreOwner); 
     criteria.put("StoreAddress", StoreAddress); 
     criteria.put("StorePhone", StorePhone); 
     criteria.put("StoreOpenDate", StoreOpenDate); 

     Store_Data_handler.insert(criteria); 

    } catch (Exception e) { 

     return mapping.findForward("Error"); 
    } 
    return mapping.findForward("Success"); 
    } 

     } 

+0

1。你如何將價值提交給行動課?和2.檢查你的動作映射在config xml中。 3.你不知道如何提交價值,因此你必須正確地提出問題,以便其他人可以幫助你。 :)祝你好運 –

+0

你的類'Store_Data_Parised'應該擴展一個Struts的''Action'類。在你的例子中,它是POJO。 – Victor

回答

0

類需要與 「行動」 擴展 如:公共類Store_Data_Parised擴展行動

相關問題