关于JSF上传文件的问题
upfile 还是为null,怎么回事,请问哪里出问题了
代码如下:
<a4j:form id="mainForm" enctype="multipart/form-data" ajaxSubmit="true" reRender="data">
<h:panelGrid columns="2" columnClasses="colL, colL,colL">
<t:outputText value="文件路径:" />
<t:inputFileUpload id="upfile"
value="#{remoteUpgradeTerminalBean.upfile}" storage="file"
immediate="false" accept="image/*" />
</h:panelGrid>
</a4j:form>
bean:
package com.auxgroup.sxamr.view.bean;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.apache.myfaces.custom.fileupload.UploadedFile;
public class RemoteUpgradeTerminalBean{
/*
* 上传文件
*/
private UploadedFile upfile;
public RemoteUpgradeTerminalBean() {
}
/**
* 开始升级
*/
public void confirmUpgrade() {
try {
InputStream in = new BufferedInputStream(upfile.getInputStream());
} catch (Exception x) {
}
}
/**
*
* @return 上传文件
*/
public UploadedFile getUpfile() {
return upfile;
}
/**
*
* @param upfile
* 上传文件
*/
public void setUpfile(UploadedFile upfile) {
this.upfile = upfile;
}
}
web.xml
<!--Tomahawk-->
<filter>
<filter-name>extensionsFilter</filter-name>
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
<init-param>
<description>Set the size limit for uploaded files.
Format: 10 - 10 bytes
10k - 10 KB
10m - 10 MB
1g - 1 GB</description>
<param-name>uploadMaxFileSize</param-name>
<param-value>100m</param-value>
</init-param>
<init-param>
<description>Set the threshold size - files
below this limit are stored in memory, files above
this limit are stored on disk.
Format: 10 - 10 bytes
10k - 10 KB
10m - 10 MB
1g - 1 GB</description>
<param-name>uploadThresholdSize</param-name>
<param-value>100k</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>extensionsFilter</filter-name>
<url-pattern>/faces/*</url-pattern>
</filter-mapping>