0
我有使用PrimeFaces上傳文件的問題。我在StackOverflow上瀏覽過這篇文章,但沒有發現任何有用的東西。奇怪的是,我昨天做了它的工作,但我現在開始我的服務器,它已經工作了。當我嘗試訪問上傳的文件時,它給了我NPE。PrimeFaces文件上傳停止工作
所以,我下載的commons-文件上傳-1.2.2.jar和commons-IO-1.4,把它們放在我的類路徑,配置我web.xml
這樣
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
我在XHTML頁面表單中包含有一個字段說明,一個組合框和現場上傳元素
<h:form enctype="multipart/form-data">
<p:panel header="#{submitProjectPage['header']}">
<h:panelGrid columns="2">
#{submitProjectPage['chooseProject']}
<p:selectOneMenu value="#{submitProjectBean.project}" converter="projectConverter">
<f:selectItems value="#{submitProjectBean.studentsProjects}" />
</p:selectOneMenu>
最後我bean是RequestScoped
並具有這種方法
private UploadedFile projectFile;
public void submitProject(ActionEvent event) {//also tried without parameter
project.setFile(projectFile.getContents());
project.setStatus(StatusEnum.DELIVERED);
daoBean.update(project);
}
#{submitProjectPage['submitInformation']}
<p:inputTextarea rows="10" value="#{submitProjectBean.s}"/>
#{submitProjectPage['file']}
<p:fileUpload value="#{submitProjectBean.projectFile}" mode="simple" />
<p:commandButton ajax="false" value="#{submitProjectPage['submit']}"
actionListener="#{submitProjectBean.submitProject}" />
</h:panelGrid>
</p:panel>
我相信我有我的進口權,還有一個setter for projectFile字段,所以我真的不知道哪裏可能是問題。我使用PrimeFaces v 3.01
感謝您的幫助