Библиотека тегов поддерживает пространство имен: http://java.sun.com/jsf/html, но для имени не определен тег: inputFile

Я действительно озадачен этой проблемой. У нас есть проект Richfaces. Я хотел использовать тег вместо, потому что мне не нравилось, как файлы передавались бину. Наш проект работает очень хорошо. Я считаю, что у меня есть все необходимые зависимости в POM, но я даже вручную добавил несколько после прочтения этого Как настроить проект для поддержки h:inputfile в JSF 2.2 @BalusC, поэтому я добавил

<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>1.2_15</version>
</dependency>
 <dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1</version>
</dependency>

Вот моя страница:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:rich="http://richfaces.org/rich"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:b="http://richfaces.org/sandbox/bootstrap"
    template="/template.xhtml">

    <ui:define name="metadata">
    </ui:define>



    <ui:define name="content">

    <h:inputHidden id="active-bean-name" value="dataloader" />

    <h:form>

    <h:form id="form" enctype="multipart/form-data">
    <rich:fileUpload></rich:fileUpload>

    <h:inputFile id="file" value="#{DataLoaderBean.file}"/>
     <h:commandButton value="Upload"
      action="#{DataLoaderBean.upload}"/>
    </h:form>

    </h:form>

    </ui:define>
</ui:composition>

Любая помощь будет принята с благодарностью.


person sgoldberg    schedule 19.09.2013    source источник
comment
Вы четко указываете координаты Maven для реализации JSF 1.2 и API JSF 2.1, а затем жалуетесь, что не получили функции JSF 2.2. Я не уверен, что здесь непонятно. Просто установить координаты Maven на JSF 2.2? Если ваша конкретная проблема заключается в том, что вы не можете понять, что это такое, просто посмотрите на домашнюю страницу JSF: javaserverfaces.java .net/download.html   -  person BalusC    schedule 19.09.2013
comment
@BalusC, ты прав, это было довольно глупо с моей стороны. Мы используем JBOSS AS 7.1. Я добавил файлы, потому что запутался, но jsf-api и jsf-impl упакованы с JBOSS AS 7.1. Проблема в том, что я не могу обновиться до версии 2.2, потому что JBOSS AS 7.1 ее не поддерживает. Только JBOSS AS 8, к которому мы не готовы. Так что я думаю, что я SOL. Спасибо за помощь как всегда.   -  person sgoldberg    schedule 19.09.2013
comment
Вы определенно можете обновить JBoss AS 7.1, чтобы использовать JSF 2.2. Другие сделали это до вас. См., например. community.jboss.org/thread/203257. Возможно, вы запутались, потому что он по умолчанию уже поставляется с 2.1 из коробки? Или, возможно, вы не понимали, что вам не следует делать это через Maven, потому что JSF не связан с веб-приложением, а находится на самом сервере?   -  person BalusC    schedule 19.09.2013
comment
@BalusC да, сначала я был сбит с толку тем, что мне не следует делать это с Maven, потому что он был в комплекте. Затем я попытался обновиться до 2.2, используя описанные выше шаги, но обнаружил несколько ошибок. Затем я прочитал этот пост stackoverflow.com/questions/17138490/, и это заставило меня поверить, что я не могу обновиться, но я недостаточно внимательно прочитал сообщение. Я попытаюсь обновить еще раз и посмотреть, как это работает. Спасибо!   -  person sgoldberg    schedule 19.09.2013
comment
@BalusC, ты мужчина, мне не хватило одной строки, когда я пытался обновиться до 2.2. Я не знал, что jsf-api теперь зависит от jsf-impl. Теперь это решено, и я могу идти.   -  person sgoldberg    schedule 19.09.2013