QFaces1.2 -- Ajax方式,帶進(jìn)度條的文件上傳組件FileUpload(for JSF)
這是QFaces的第4個(gè)組件,Ajax方式帶進(jìn)度條的文件上傳組件,我希望每一個(gè)重要組件都提升一個(gè)版本,呵呵!這個(gè)版本同時(shí)修正了ie6下的ajax兼容問題.在介紹完這個(gè)組件之后,打算介紹一下如何利用QFaces自定義自己的Ajax組件,希望這個(gè)增強(qiáng)框架能對喜歡JSF的人有一些幫助.后面版本的升級可能就不會這么快,或者考慮兼容一下facelets,并修正一些可能出現(xiàn)的錯(cuò)誤,還有開源計(jì)劃,然后繼續(xù)維護(hù)并增加一些比較常用與實(shí)用的組件,關(guān)注一下JSF2.0的發(fā)展等等.好了,下面介紹一下QFaces這個(gè)新成員吧:FileUpload , 下面是使用過程的截圖,對于界面我沒有太高的要求,也沒有開放相關(guān)的屬性,還是簡單使用為第一要素,如果你自定義組件,可以做出更酷或更花俏的界面出來,呵呵!

組件的使用方法非常簡單:
<q:fileUpload process="#{FileUploadBean.process}"/>
以下是html完整代碼,需要注意的是組件不能放在form里面,因?yàn)榻M件會渲染自已的form標(biāo)簽:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FileUpload Demo</title>
</head>
<body>
<q:fileUpload process="#{FileUploadBean.process}"/>
</body>
</html>
</f:view>
后臺bean只要綁定一個(gè)處理方法就可以,簡單的操作處理,將文件保存至本地硬盤,下面是demo中的示例:
// 檢查并創(chuàng)建用于保存上傳文件的目錄
File fileDir = new File("c:\\my-qfaces-upload-file");
if (!fileDir.exists()) {
fileDir.mkdirs();
}
// 創(chuàng)建文件對象,并將上傳的文件保存到該對象.
File upfile = new File(fileDir.getAbsolutePath() + "\\" + qfile.getFilename());
qfile.save(upfile);
return true;
}
組件已經(jīng)幫你處理了很多繁瑣的事情,你可以從QFile這個(gè)對象中獲得上傳文件的大小,原始文件名,后綴名,寬度,高度(如果是圖片),再進(jìn)一步進(jìn)行處理等等.
下面是組件的所有可用屬性,除了必要的紅色屬性之外,其它的都是可選的:
屬性 |
類型 |
說明 |
必需 |
id |
String |
|
否 |
value |
String |
上傳按鈕的標(biāo)簽,如:value=”上傳” |
否 |
size |
Number |
組件寬度,如:size=”20” |
否 |
showList |
Boolean |
是否顯示已成功上傳的文件列表,如:showList=”true” |
否 |
process |
Method |
方法綁定,該方法用于處理上傳文件,方法簽名如下: Boolean process(QFile), 該方法接受一個(gè)QFile類型的參數(shù),處理文件保存之后返回true/false以表示處理成功或失?。?/span> 這是一個(gè)必要的參數(shù),使用該方法對已經(jīng)上傳的文件進(jìn)行保存處理,如下將文件保存至d:\myfile.rar public boolean process(QFile qfile) { File myfile = new File(“d:\myfile.rar”); qfile.save(myfile); return true; } |
是 |
rendered |
Boolean |
是否顯示組件,如:rendered=”false” |
否 |
更多的設(shè)置需要修改web.xml,比如: uploadMaxSize, uploadThresholdSize, uploadTemp等,文檔中有完整的說明,下面是下載地址 :
QFaces 下載頁面 -- 基于JSF的Ajax增強(qiáng)框架。
- huliqing@huliqing.name
- http://www.huliqing.name
posted on 2008-11-28 17:34 huliqing 閱讀(3024) 評論(7) 編輯 收藏 所屬分類: JSF