Stacktrace намекает на то, что вы используете и RichFaces 3.3, и Tomahawk 1.x.Обе библиотеки компонентов предлагают компоненты для загрузки файлов и извлекают загруженные файлы из тела запроса, используя специальный Filter
.Трассировка стека показывает, что Tomahawk анализирует тело запроса до запроса RichFaces.
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:365)
...
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)
Как только тело запроса было проанализировано, оно больше не может быть проанализировано.Поэтому RichFaces не может извлечь загруженный файл из тела запроса.NullPointerException
, с которым вы сталкиваетесь, является просто непредвиденным следствием этого (вместо этого ребята из RichFaces должны были выдать более четкое исключение, что-то вроде IllegalStateException
с сообщением «Загруженный файл отсутствует в теле запроса» или как, но ала).
Если вы хотите использовать функцию загрузки файлов RichFaces, вам действительно нужно удалить Томагавк ExtensionsFilter
из web.xml
.Вы пропустите только функциональность <t:inputFileUpload>
и некоторые второстепенные функции (скрипты / таблицы стилей) определенных компонентов look'n'feel.Другие компоненты Томагавк должен работать нормально.