一。NetBeans 5.5.1 中的样例:
在NetBeans 5.5.1中自带了一个“文件上载“的例子,使用这个例子,请先下载并安装以下软件:
-
JAVA SE 5 (JDK 1.5) 及以上版本(http://java.sun.com/javase/downloads/index.jsp )
-
NetBeans 5.5.1(http://zh-cn.netbeans.org/index_zh_CN.html )
-
Sun Application Server 9.0(https://glassfish.dev.java.net/)
2+3也可以下载“NetBeans IDE 5.5.1 with Java EE Application Server 9.0 U1 Patch 1 bundle ”(http://www.netbeans.info/downloads/index.php?rs=22&p=3)
在NetBeans中,选择菜单“新建项目”-〉“类别”中选择“样例”-〉“Java BluePrint Solution” ->AJAX编程模型。项目中选择“文件上载”。项目名缺省为“fileupload”
运行项目“fileupload”, 并且选择几个上传文件,文件类型可以多种多样,比如pdf, jar, ra, zip, jpeg, gif等等。可以看到如下界面。
传输完毕,可以看到如下结果。
显示了上传文件开始,结束的的时间,上传文件总的字节数目等等。
项目“fileupload”的/web/docs/下有一个fileupload.html 的文档,解释了这个上传文件的参数及使用(English)。文件上载是一个JSF控件,开发者需要了解的除了如何在服务器端处理请求中的参数,如何在客户端显示响应信息外,所需要了解的仅仅是一些参数的设置。如这个例子中的代码所示:
|
<ui:fileUploadTag id="TestFileuploadForm0" retFunction="testRetFunction" retMimeType="text/xml" postProcessingMethod="#{FileUploadCustomBean.postProcessingMethod}" progressBarDivId="progress1x" progressBarSubmitId="submit1x" progressBarSize="40"> <input type="file" size="40" name="fileToUpload0" id="fileToUpload0Id"/><br/> <input type="file" size="40" name="fileToUpload1" id="fileToUpload1Id"/><br/> <input type="file" size="40" name="fileToUpload2" id="fileToUpload2Id"/><br/> <input type="submit" id="submit1x" name="submit1x" value="Submit"/><br/> <div id="progress1x"></div><br/> </ui:fileUploadTag> |
参数如下:
|
id |
文件上载JSF控件的标识 |
|---|---|
|
serverLocationDir |
文件上载的目标目录。在示范例子中未给出这个参数的应用。缺省的情况下,文件会上载到Sun application Server 的domains/domain1/lib/upload目录下。 |
|
retFunction |
JavaScript 的回调函数,用于客户端出来服务器返回的响应信息。 |
|
retMimeType |
服务器端返回响应信息的类型,缺省的是“text/xml ” |
|
postProcessingMethod |
服务器端用来处理请求信息的方法。 |
|
progressBarDivId |
进度条的Id |
|
progressBarSubmitId |
和进度条关联的触发文件上载的id。示范例子中是“submit”按钮 |
|
progressBarSize |
进度条的大小 |
二。使用FileUpload控件建立实例PhotoAlbum
下面给出另外一个使用这个上传文件的小例子PhotoAlbum,最主要是为了说明如何提取上传后的文件名,以及如何用AJAX技术来部分刷新上传页面。另外想借这个例子用 NetBeans开发JSF程序的一般流程。

