JSF не находят, что компонент в поле зрения базируется с идентификатором формы

У меня есть t:inputFileUpload в форме в HTML страницы дисплея, идентификатор этого компонента является form:inputFile, но когда я пытался получить компонент от корня представления, использующего "form:inputFile", возврат является пустым, но когда "форма": удален возврат является компонентом. Компонент не устанавливает значение в моем управляемом компоненте, у кого-то есть эта проблема?

Править:

<h:form id="form" enctype="multipart/form-data">
<t:inputFileUpload id="inputFile" size="40" value="#{managedBean.inputFile}"/>
</h:form>

В управляемом компоненте:

    private UploadedFile inputFile;

с получением и наборами, обеспеченными Eclipse.

//This method scans the view root and returns the component with the id passed as parameter
findComponentInRoot("form:inputFile");

Это возвращает пустой указатель, но когда я использую:

   //This method scans the view root and returns the component with the id passed as parameter
    findComponentInRoot("inputFile");

Возврат является компонентом, который я ищу, но когда я использую Источник Представления в Internet Explorer, идентификатор этого компонента является "form:inputFile".

Я не знаю, связано ли это, но компонент не устанавливают значение в моем управляемом компоненте, и это странно то, что идентификатор компонента отличается от источника HTML. Я использую JSF 1.2 Mojarra. У кого-то еще есть эта проблема? Или знайте, почему это происходит?

EDIT2: Хорошо, я очень глуп, по-видимому, сборка не работала правильно и когда сборка была изменена на другую задачу от Муравья, это работало (все еще не знают, почему, но просто работал).Извините за беспокойство.

7
задан kenzokujpn 5 April 2010 в 21:12
поделиться

2 ответа

Вы должны использовать привязку компонента или UIViewRoot # findComponent () . Но это не решит проблему того, что загруженный файл не установлен. Чтобы исправить это, сначала убедитесь, что вы правильно определили и настроили ExtensionsFilter в соответствии с документацией Tomahawk , поскольку он отвечает за синтаксический анализ multipart / form -data запрашивает и помещает все параметры вместе с загруженным файлом обратно в карту параметров запроса, чтобы FacesServlet мог применить их и обновить значения модели.

2
ответ дан 7 December 2019 в 18:41
поделиться

Думаю, findComponentInRoot - это это (небольшая деталь, которую вы должны были сообщить).

В любом случае, использование findComponent (..) или getChildren (..) всегда возвращает id компонентов, как определено на странице. Идентификатор html - это нечто иное, состоящее из контейнера именования : id .

0
ответ дан 7 December 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: