inputFileUpload是myfaces里的一個組件,用來上傳文件的。本人這幾天一直試著使用這個組件,結(jié)果均以失敗告終。上網(wǎng)搜查資料,結(jié)果是千篇一律,更加郁悶。
創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設、網(wǎng)站重做改版、陵川網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5高端網(wǎng)站建設、商城系統(tǒng)網(wǎng)站開發(fā)、集團公司官網(wǎng)建設、外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為陵川等各大城市提供網(wǎng)站開發(fā)制作服務。
幾經(jīng)嘗試,終于發(fā)現(xiàn)為什么這組件失效。
第一點:在
第二點:需在web.xml文件中加上以下東東:
如果你像我一樣為這個組件困擾的話,按照上面的試試,應該就可以成功了。
附上本人的測試樣例,詳細請進入收看。
[@more@]jsp文件:
<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%>
backbean文件:
package zc.bb;
import org.apache.myfaces.custom.fileupload.UploadedFile;
import java.io.*;
public class InputFileBB {
private UploadedFile upfile;
private String test;
public String loadFile()
{
System.out.println( "test***********darmee" + test );
System.out.println( "name***********darmee" + upfile.getName() );
try
{
InputStream is = upfile.getInputStream();
String filename = getFileName( upfile.getName() );
FileOutputStream fos = new FileOutputStream( "D:" + filename );
int temp;
while ( (temp = is.read())!= -1 )
fos.write(temp);
is.close();
fos.close();
}
catch ( Exception e )
{
}
return null;
}
protected String getFileName(String fileAbsoluteName) {
String fileName = null;
int index = fileAbsoluteName.lastIndexOf("");
if (index > 0) {
fileName = fileAbsoluteName.substring(index + 1);
} else {
fileName = fileAbsoluteName;
}
return fileName;
}
public UploadedFile getUpfile() {
return upfile;
}
public void setUpfile(UploadedFile upfile) {
this.upfile = upfile;
}
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}