|
|
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Решил предыдущий вопрос перенести в новую тему, потому как и понимания проблемы больше стало и вопросов не уменьшилось. А дело в том, что по не понятной для меня причине слушатель Primefaces 4.x FileUpload не вызывается. Как следствие не могу получить доступ к загружаемому файлу на стороне сервера. Немного предыстории по коду ... Среда разработки следующая: JBoss Application Server 7.1.1 JDK 1.7 CDI 1.0 Mojarra 2.1.7 JSF 2.2 PrimeFaces 4.0 Commons io version: 2.4 Commons fileupload version: 1.3 Firefox 26.0 Компонента <p:fileUpload> специально выведена отдельную XHTML форму: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. для этой формы специально создан бин: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... ожидаемого результата в виде отработки System.out.println("handleFileUpload(FileUploadEvent event)") из handleFileUpload(FileUploadEvent event) не получаю. Следовательно делаю вывод о том, что слушатель не работает. ... При всем при этом заметил одну интересную вещь. Сам p:fileUpload вроде как работает, потому как я могу выбрать файл-картинку, нажать кнопку "открыть" и увидеть его минимизированное отражение в p:fileUpload. А по сему делаю вывод о том, что в моем случае работает только клиентская сторона. А сам файл на сервер не передается ... Вопрос почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 07:21:06 |
|
||
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
Два дополнения к предыдущему сообщению: Первое, ... в web.xml настраивал фильтр для FileUpload : Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... результат тот же самый, а точнее ни какой. Да и в доке написано что для PrimeFaces 4.0 этого можно не делать. Поэтому исключил данный контекст из настроек web.xml Второе, ... в браузере просматривал контекст того, что уходит на сервер в момент работы FileUpload - получается что передается только сама XHTML страница, а файл-картинка не отправляется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2013, 07:28:35 |
|
||
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
... прихожу к выводу что это баг текущей версии as jboss 7.1 под jsf 2.0 вероятно можно попробовать следующие 2-а варианта: 1. мигрировать на jsf 2.2 ( https://community.jboss.org/thread/203257?start=0&tstart=0) 2. перейти на as jboss WildFly 8 CR1 ( http://wildfly.org/news/2013/12/21/WildFly8-CR1-Released/) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 01:30:12 |
|
||
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
Dutchman... 1. мигрировать на jsf 2.2 ( https://community.jboss.org/thread/203257?start=0&tstart=0) Из того же поста получается, что jboss 7.1 и 7.2 в принципе не могут поддерживать jsf 2.2. Остается второй вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 10:25:42 |
|
||
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
Зачем так категорично? Во-первых, надо выбрать способ: Код: xml 1. 2. 3. 4. Из 3 предложенных значений надо выбрать одно, на не все 3 указывать! Смотрим в документацию: auto - для jsf 2.2. fboss as 7.1 поставляется с jsf 2.0, значит, если хотим использовать его, то надо jsf 2.2 вставлять в проект, либо патчить сервер. Сложно - выбираем из оставшихся 2-х native - работает на servlet 3.x Part API. Какая версия вашего приложения - история умалчивает, поэтому оставляем 3-й вариант, который работает везде: commons - использует commons-fileupload и работает везде. Тоже не все так просто, надо добавить зависимость в проект и описать фильтр, как указано в доке. Зато будет гарантированно работать везде Итак, зависимсти в pom.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Что необходимо добавить в web.xml: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 12:01:12 |
|
||
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
Слишком бегло взглянул на документацию, хотя выводы и правильные. Лучше все-таки правильно изложить выбор auto|native|commons. По сути всего 2 аплоадера - native и commons, а auto просто детектирует, какой лучше применить native - требует наличия jsf 2.2 и servlet 3.x Part API commons - использует commons-fileupload Получается, что для jboss 7.1.1 что указывай auto, что ничего не указывай - все равно будет выбрано commons (из-за jsf). Поэтому добавляйте зависимость в проект и фильтр в web.xml, а параметр primefaces.UPLOADER можно не указывать, либо указать одно из 2-х: auto|commons ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 12:40:56 |
|
||
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
Уважаемый ivanra, насколько важно указывать зависимости в pom.xml ? Вопрос связан с тем, что в проекте не используется maven. Сборка ведется стандартными механизмами Эклипса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 12:46:14 |
|
||
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
Уважаемый ivanra, Большое Вам человеческое спасибо !!! Настроил primefaces.UPLOADER как <param-value>commons</param-value> и все сработала как Вы и говорили. Еще раз Спасибо и с наступающим Новым Годом !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 12:53:24 |
|
||
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
Dutchmanнасколько важно указывать зависимости в pom.xml ? Вопрос связан с тем, что в проекте не используется maven. Сборка ведется стандартными механизмами Эклипса. Придется вручную собирать все зависимости в папку lib проекта. Хотя, в данном случае повезло - commons-fileupload зависит только от commons-io, а этот модуль по-моему, есть в модулях сервера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2013, 12:54:46 |
|
||
|
Primefaces 4.x FileUpload Слушатель никогда не вызывается
|
|||
|---|---|---|---|
|
#18+
ivanracommons-fileupload зависит только от commons-io, а этот модуль по-моему, есть в модулях сервера на 7.1 есть несколько библиотек комонс, но этого вроде нету ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2013, 01:15:17 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38513739&tid=2127900]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
3ms |
| others: | 213ms |
| total: | 376ms |

| 0 / 0 |
