аннотированный ManagedBean в Richfaces? - PullRequest
1 голос
/ 19 мая 2011

Я новичок в richfaces и хочу поддержать класс bean-компонентов с использованием аннотации вместо конфигурации xml [точно так же, как JSF 2.0]. Я использую richfaces 4.0 и включил все необходимые jar-файлы в путь сборки. но когда я попытался import javax.faces.bean.*; через ошибку не найден пакет. если я включаю ядро ​​JSF2.0 jar из mojarra, то оно компилируется нормально, но когда он отображается как файл war, tomcat v7 выдает ошибку, и мой проект не выполняется.

любая помощь, пожалуйста.

P.S. без бобов, проект работает хорошо

1 Ответ

0 голосов
/ 19 мая 2011

, если я включу ядро ​​JSF2.0 jar от mojarra, то оно прекрасно скомпилируется

Это верно.Tomcat не поставляется с какими-либо библиотеками JSF.RichFaces4 также не поставляется с какой-либо конкретной реализацией JSF.Вам нужно иметь jsf-api.jar и jsf-impl.jar в папке /WEB-INF/lib.


, но при отображении в качестве файла войны tomcat v7 выдает ошибку, и мой проект не можетвыполнить.

Вы должны убедиться, что ваш /WEB-INF/faces-config.xml объявлен соответствующим спецификации JSF 2.0.

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0"
>
    <!-- Your config here (if any) -->
</faces-config>

Вы также должны убедиться, что ваш /WEB-INF/web.xmlдекларируется соответствие спецификации Servlet 3.0 или не менее спецификации Servlet 2.5

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0"
>
    <!-- Your config here (if any) -->
</web-app>
...