2012-03-09 61 views
0

我現在試圖在我的網頁中添加一個進度欄。 由於我使用的撐杆1,所以我已經通過了以下網站建議的方法:使用帶dwr進度條的struts 1

http://kencochrane.blogspot.com/2006/03/ajax-struts-file-upload-progress-meter.html

我還參觀了DWR的官方網站,以檢查最新版本,並更新代碼位。

我抄,我需要到我的項目文件和更新所需的文件(包括web.xml和struts-config.xml中),

然而,當我跑我的網站,我得到這個錯誤螢火蟲:

dwr.engine._getObject不是一個函數

之前的任何人遇到這種情況? 我能做些什麼來解決這個問題? 我懷疑這是某種關係到我的struts-config.xml和web.xml所以下面是我的代碼:

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>Upload</display-name> 

    <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/struts.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>action</servlet-name> 
    <url-pattern>/execute/*</url-pattern> 
    </servlet-mapping> 

    <servlet> 
     <display-name>DWR Servlet</display-name> 
     <servlet-name>dwr-invoker</servlet-name> 
     <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> 
     <init-param> 
     <param-name>debug</param-name> 
     <param-value>true</param-value> 
     </init-param> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>dwr-invoker</servlet-name> 
     <url-pattern>/dwr/*</url-pattern> 
    </servlet-mapping> 


</web-app> 

struts-config.xml中

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" 
           "http://struts.apache.org/dtds/struts-config_1_3.dtd"> 
<struts-config> 

    <form-beans> 
     <form-bean name="UploadForm" type="com.struts.UploaderForm"/> 
    </form-beans> 

    <action-mappings> 
     <action path="/Upload" 
      type="com.struts.UploadAction" 
      name="UploadForm" 
      scope="request" 
      input="/Upload.jsp"> 
     </action> 
    </action-mappings> 

    <controller multipartClass="com.upload.ExtendedMultiPartRequestHandler" /> 
    <message-resources parameter="com/struts/Resource"/> 

</struts-config> 

非常感謝你!

回答

0

您是否在HTML中包含了所需的engine.js文件?從the docs

的engine.js對DWR至關重要的,因爲它是用來元帥從 動態生成界面的JavaScript函數調用,故需 無論是使用DWR。

所有engine.js函數都有dwr.engine前綴。

的文件的engine.js

所有DWR頁面都需要下面的腳本元素導入主DWR 引擎。

<script type='text/javascript' 
    src='/[YOUR-WEB-APP]/dwr/engine.js'> 
</script>