2013-09-17 1 views
1

Я использую JSF 2.0, и у меня есть форма с полями autocommplete (multiple), а также несколько входных файлов. Поскольку я использую ввод файла, мой тег h: form использует enctype = "multipart/form-data".Форма JSF с возможностью загрузки файлов и возможностью множественного выбора

Однако, когда я устанавливаю свою форму в multipart, мое поле автозаполнения возвращает последний элемент в мой компонент (список всегда имеет размер 1). Эта проблема также возникает, когда просто используется регулярный множественный элемент выбора вместо автозаполнения правильных (автозаполнение использует скрытый элемент множественного выбора). Когда я удаляю enctype = "multipart/form-data", этот вопрос пропадает, но, конечно, мой компонент не может обнаружить файлы, которые я хочу загрузить.

Неужели кто-нибудь столкнулся с этой проблемой и нашел решение?

Я использую: Liferay 6.1 GA2, Primefaces 3,5, Mojarra 2.1.21

ответ

-1

Для тех, кто сталкивается этот вопрос, я просто хотел бы поделиться тем, что я в конце концов обратился к использованию автозаполнения виджет JQuery вместо этого.

0

У меня была такая же проблема с JBoss EAP 6.1. Оказывается, это ошибка в реализации объекта Request.java, который не фиксируется до Wildfly 8.x. Ссылка здесь: https://community.jboss.org/thread/223085

Чтобы обойти эту проблему, я использовал фильтр из блога BalusC в: http://balusc.blogspot.com/2007/11/multipartfilter.html

Обратите внимание, что даже если JBoss является 3,0 сервлета спецификации, я не мог использовать соответствующую запись в блоге BalusC для 3.0 из-за баг.

0

Anghel Леонард описывает в статье Uploading multiple files с помощью прохода через пространство имен (http://xmlns.jcp.org/jsf/passthrough), чтобы добавить multiple атрибут и первостепенную FileRenderer#decode метод извлечения загруженные файлы.