2012-03-09 65 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>