myfaces,它是jsf的擴展,和jsf是完全支持的,組件用法也是一樣的,這是服務器端獲取你上傳文件的類 ,你應該把它定義成一個managed-bean,在我的項目里面,
我把它定義為fileupload,我想managed bean的定義你應該清楚吧,后面的是文件上傳組件的的應用,那個代碼是頁面中的應用,
import java.io.IOException;
import org.apache.myfaces.custom.fileupload.UploadedFile;
import javax.faces.context.FacesContext;
public class FileUploadForm
{
private UploadedFile _upFile;
private String _name = "";
public UploadedFile getUpFile()
{
return _upFile;
}
public void setUpFile(UploadedFile upFile)
{
_upFile = upFile;
}
public String getName()
{
return _name;
}
public void setName(String name)
{
_name = name;
}
public String upload() throws IOException
{
FacesContext facesContext = FacesContext.getCurrentInstance();
facesContext.getExternalContext().getApplicationMap().p
ut("fileupload_bytes", _upFile.getBytes());
facesContext.getExternalContext().getApplicationMap().put("fileupload_type", _upFile.getContentType());
facesContext.getExternalContext().getApplicationMap().put("fileupload_name", _upFile.getName());
return "ok";
}
public boolean isUploaded()
{
FacesContext facesContext = FacesContext.getCurrentInstance();
return facesContext.getExternalContext().getApplicationMap().get("fileupload_bytes")!=null;
}
}
//放在form里面
<h:form id="form1" name="form1" enctype="multipart/form-data" >
<x:inputFileUpload id="fileupload" accept="application/vnd.ms-excel"
value="#{fileupload.upFile}" storage="file"
styleClass="fileUploadInput" required="true" />
此處是按鈕,點擊執行managed bean:fileupload的文件上傳方法:upload
<h:commandButton type="submit" action="#{fileupload.upload}" value="上傳文件" styleClass="button-main-4"/>
</h:form>