2015-05-06 6 views
0

У меня есть проект JSF с использованием весенней безопасности. Я пытаюсь заставить FileUpload PrimeFaces отображать выбранный файл после того, как пользователь завершит просмотр файла.PrimeFaces: File Upload View Not Updating

Я использую:

http://www.primefaces.org/showcase/ui/file/upload/single.xhtml

enter image description here

Проблема заключается в том, что после выбора файла ничего не отображается в окне просмотра и кнопка загрузки не будет выделен. Любая помощь? Я попробовать основную загрузку файла и он обновит имя файла в окне

Для основного зрения http://www.primefaces.org/showcase/ui/file/upload/basic.xhtml

enter image description here

Может быть FireFox версии я использую v31.0?

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:h="http://java.sun.com/jsf/html" 
xmlns:f="http://java.sun.com/jsf/core" 
xmlns:b="http://bootsfaces.net/ui" 
xmlns:ui="http://java.sun.com/jsf/facelets" 
xmlns:p="http://primefaces.org/ui"> 
<h:head> 

</h:head> 

<h:body> 

<h:form enctype="multipart/form-data"> 
    <p:growl id="messages" showDetail="true" /> 
    <p:fileUpload value="#{fileUploadController.file}" mode="simple"  skinSimple="true"/> 
    <p:commandButton value="Submit" ajax="false" actionListener="#{fileUploadController.upload}" disabled="false" /> 
</h:form> 

<h:form enctype="multipart/form-data"> 
    <p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}" mode="advanced" dragDropSupport="false" 
     update="messages" sizeLimit="100000" fileLimit="3" allowTypes="/(\.|\/)(txt|gif|jpe?g|png)$/" /> 
    <p:growl id="messages" showDetail="true" /> 
</h:form> 

</h:body> 
</html> 

У меня есть это, а в моем web.xml:

<!-- PrimeFaces Client Side Validation --> 
<context-param> 
<param-name>primefaces.CLIENT_SIDE_VALIDATION</param-name> 
<param-value>true</param-value> 
</context-param> 
<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> 

POM:

<!-- PrimeFaces --> 
    <dependency> 
     <groupId>org.primefaces</groupId> 
     <artifactId>primefaces</artifactId> 
     <version>5.2</version> 
     <scope>compile</scope> 
    </dependency> 
+0

Можете ли вы воспроизвести проблему на витрине? Если нет, отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve) и попытайтесь разобраться с проблемой в перспективе разработчика, а не в перспективе enduser. И, пожалуйста, не делайте предположений в браузере, если вы на самом деле не пробовали другие браузеры. – BalusC

+0

Я изменил версию PromieFaces на 5.2 и кнопка обзора изменила стандартную кнопку выбора. Тем не менее одно представление по-прежнему не отображает файл после выбора. @BalusC – wwjdm

ответ

0

У меня была аналогичная проблема раньше. Когда вы определяете свой компонент загрузки файлов, убедитесь, что компонент fileupload уникален. Получите идентификатор из javaBeans.

Что касается имени файла, это проблема с CSS. Если вы откроете своего инспектора и прорежьте слои и слои тегов <tb>, вы должны увидеть имя своего файла. Подстройте свой CSS, чтобы сделать имя видимым.