Неизвестная ошибка свойства при загрузке файла Primefaces

Я использую PF 3.0.RC1/NetBeans 7.0.1, и когда я пытаюсь установить fileUploadListener для компонента fileUpload, NetBeans выдает это предупреждение «Неизвестное свойство 'handleFileUpload'» в самом левом углу строки.

В режиме отладки, когда я использую fileUpload, он не вызывает метод handleFileUpload, и ничего не происходит.

Что я могу сделать для этой проблемы?

Код на странице xhtml:

 <p:fileUpload fileUploadListener="#{BDS_System.handleFileUpload}" mode="advanced" 
                        sizeLimit="500000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>

Код в управляемом bean-компоненте:

public void handleFileUpload(FileUploadEvent event) {
        String fileName = event.getFile().getFileName();
        byte[] fileBytes = event.getFile().getContents();

        ...
    }

Решено и решение :

Добавление

<h:form enctype="multipart/form-data">

и две библиотеки, commons-fileupload и commons-io. Для проектов maven;

    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId> commons-fileupload</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId> commons-io</artifactId>
        <version>2.1</version>
    </dependency>

person Jman    schedule 31.01.2012    source источник


Ответы (1)


я предполагаю, что это так же, как в ответе BalusC в этой теме: "Неизвестное свойство " сообщение об ошибке netbeans - ерунда, я думаю, вы что-то забыли в конфигурации загрузки файлов, например

Начало работы с FileUpload

Первое, что нужно сделать, это настроить фильтр загрузки файлов, который анализирует составной запрос. Фильтр FileUpload должен сопоставляться с сервлетом Faces.

<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>

и не забудьте добавить enctype в свою форму следующим образом:

<h:form enctype="multipart/form-data">

если все вышеперечисленное не поможет, взгляните на ответ BalusC здесь: Как использовать PrimeFaces p:fileUpload

person Daniel    schedule 02.02.2012
comment
Благодарность ! Я добавил это ‹h:form enctype=multipart/form-data›, а также добавил две библиотеки commons-fileupload и commons-io, чтобы все заработало :) - person Jman; 04.02.2012