2015-06-12 5 views
1

Поддерживает ли Advanced FileUpload работу с MobileRenderKit?Основные интерфейсы FileUpload с MobileRenderKit

Я пытался добавить с помощью следующего кода:

upload.xhtml:

<h:form enctype="multipart/form-data" 
     rendered="#{eordner.uploadaktiv}"> 
     <p:fileUpload id="dateiupload" fileUploadListener="#{upload.getfiles}"> 
     </p:fileUpload> 
     <p:commandButton value="Hochladen..." /> 
    </h:form> 

uploadbean.java:

public void getfiles(FileUploadEvent event) { 

     System.out.println(event.getFile().getFileName()); 

    } 

Но fileUploadListener никогда не вызывается.

Когда я переключаюсь на обычный RenderKit, он вызывается.

Есть ли решение? Я хочу сделать множественную загрузку.

Простой режим отлично работает

I`m на Primefaces 5.2 TOMAT 7.0.26 Java 1.0.7 Mojarra 2.2.10

Благодарности

+0

Простой режим работает нормально, но только для одного файла – suskun52

+0

В PF Mobile 6 расширенный режим все еще не вызывает его прослушиватель. Если он активирован кнопкой, он просто перенаправляет обратно на страницу без вызова ActionListener кнопки. Кроме того, простой режим, похоже, не проверяет требуемое поле, размер файла и расширение. –

ответ

1

Посмотрев на ПФ мобильный файл FileUpload:

protected void encodeInputField(FacesContext context, FileUpload fileUpload, String clientId) throws IOException { 
    ResponseWriter writer = context.getResponseWriter(); 

    writer.startElement("input", null); 
    writer.writeAttribute("data-role", "none", null); 
    writer.writeAttribute("type", "file", null); 
    writer.writeAttribute("name", clientId, null); 

    if(fileUpload.isMultiple()) writer.writeAttribute("multiple", "multiple", null); 
    if(fileUpload.getStyle() != null) writer.writeAttribute("style", fileUpload.getStyle(), "style"); 
    if(fileUpload.getStyleClass() != null) writer.writeAttribute("class", fileUpload.getStyleClass(), "styleClass"); 
    if(fileUpload.isDisabled()) writer.writeAttribute("disabled", "disabled", "disabled"); 

    writer.endElement("input"); 
} 

, говорит, что a dvanced mode не поддерживается, но атрибут multiple есть.

Итак, попробуйте с multiple="true".

+1

спасибо, но с multiple = "true" я могу выбрать несколько файлов, но загружается только первый – suskun52

Смежные вопросы