Я пытаюсь загрузить файл с помощью RichFaces, но он не загружает файл.Я сделал следующее:
file.jsp
<h:form>
<rich:panel header="FileUpload demostration">
<rich:fileUpload
fileUploadListener="#{fileUploadBean.listener}"
id="upload"
maxFilesQuantity="10"
immediateUpload="true"
/>
</rich:panel>
</h:form>
file.java
public class FileUploadBean {
private List<String> uploadedList;
private UploadItem item;
public FileUploadBean(){
this.uploadedList = new LinkedList<String>();
}
public void listener(UploadEvent event) throws IOException {
this.setItem(event.getUploadItem());
getUploadedList().add(this.getItem().getFileName());
System.out.println("Elements in the list: ");
for(String name : this.getUploadedList()){
System.out.println(name);
}
}
/**
* @return the uploadedList
*/
public List<String> getUploadedList() {
return uploadedList;
}
/**
* @param uploadedList the uploadedList to set
*/
public void setUploadedList(List<String> uploadedList) {
this.uploadedList = uploadedList;
}
/**
* @return the item
*/
public UploadItem getItem() {
return item;
}
/**
* @param item the item to set
*/
public void setItem(UploadItem item) {
this.item = item;
}
}, и я добавил в web.xml это:
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
когда я запускаю его, он дает мне страницу jsp, я могу выбрать изображение, но когда я делаю загрузку, он говорит, что transfer error occured
и происходит в этой строке: '#{fileUploadBean.listener}' java.lang.NullPointerException
Где я ошибаюсь?Спасибо!