採用dwr+ajax和struts開發檔案上傳進度條
編寫監聽器以及相關的類
不用自己寫了,源碼可以從
http://www.telio.be/blog/2006/01/06/ajax-upload-progress-monitor-for-commons-fileupload-example裡面下載,
下載地址
http://www.telio.be/blog/wp-content/uploads/2006/01/ajax-upload-1.0.war
下載完之後,你需要解包,在命令列中:
jar xvf ajax-upload-1.0.war
源碼就在/WEB-INF/src下面
將要用到的檔案有resources檔案夾下,/WEB-INF/下面的dwr.xml和lib下面的jar檔案
上傳頁面
在上面解開的包裡面有index.jsp這個是上傳頁面,upload.jsp負責上傳,resources包裡麵包含了dwr與伺服器通訊的javascript指令碼,你需要把index.jsp的form中的action換成你的struts action即可,然後把form中的file名改成你actionform中的file屬性名稱,把頁面中剩餘的file去掉
index.jsp上傳頁面範例程式碼:
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.util.*" errorPage=""%>
<%
String path=request.getContextPath();
%>
<html locale="true">
<head>
<SCRIPT language=javascript>
function check_file() {
var strFileName=document.forms(0).file;
if (strFileName.value==""){
alert("請選擇要上傳的檔案");
return false;
}
startProgress();
}
function loadmessage(){
<%
if (request.getAttribute("message") != null) {
%>
window.alert("<%=request.getAttribute("message")%>");
window.returnValue="yes";
<%}%>
}
</SCRIPT>
<title>上傳