Произошла ошибка передачи - PullRequest
0 голосов
/ 07 января 2012

Я пытаюсь загрузить файл с помощью 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

Где я ошибаюсь?Спасибо!

1 Ответ

0 голосов
/ 10 июля 2012

Вы должны добавить в web.xml это перед тегом <filter-mapping>:

<filter>
 <display-name>Ajax4jsf Filter</display-name>
 <filter-name>ajax4jsf</filter-name>
 <filter-class>org.ajax4jsf.Filter</filter-class>
 <init-param>
  <param-name>createTempFiles</param-name>
  <param-value>false</param-value>
 </init-param>
</filter>
...