我遇到的问题是单击命令按钮时的Nullpointer。
从 web.xml
开始<context-param>
<param-name>primefaces.UPLOADER</param-name>
<param-value>commons</param-value>
</context-param>
XHTML
<p:fileUpload id="file" value="#{userBean.uploadedFile}"
mode="simple" required="true" allowTypes="*.xls,*.xlsx"
requiredMessage="#{msg.vrUserUpload}"
invalidFileMessage="#{msg.vrUserUploadInvalidFile}"
multiple="false" fileUploadListener="userBean.fileUploadListener" />
<p:commandButton id="btnUpload" value="#{displayText.btUpload}"
styleClass="button_lite" actionListener="#{userBean.insert}"
ajax="true" update="userMassUploadForm"
process="userMassUploadForm">
</p:commandButton>
UserBean.java
public void fileUploadListener(FileUploadEvent event)
{
uploadedFile = event.getFile();
}
public void insert(){
if(uploadedFile!=null){
System.out.println(uploadedFile.getFileName());
}
else{
System.out.println("The file object is null.");
}
}
控制台打印出&#34;文件对象为空。&#34;每当ajax =&#34; true&#34;当设置为false时,工作。我在上面提到的帖子中找不到解决方案。 如果您想了解更多信息,请告知我们。
答案 0 :(得分:0)
简单文件上传
简单文件上载模式在传统模式下工作,文件输入的值应为UploadedFile实例。简单上传不支持Ajax上传。