Проблема JSF 2.0 (Face-Config)

У нас есть faces-config.xml в JSF 1.0, где мы входим о управляемых компонентах, зависимостях, навигации и т. д.

Я разрабатывал пример проекта с использованием JSF 2.0. Но, поскольку я не знаю аннотации, мне нужно включить face-config.xml внешне. Пожалуйста, предоставьте решение для этого, так как в JSF 2.0 нам не нужно его включать. Что является причиной этого? Как мы устанавливаем бин как управляемый бин. Что такое аннотация? Как это используется?

3 ответа

Решение

(...) в JSF 2.0 нам не нужно его включать. Что является причиной этого?

В трех словах: простота разработки. Код для написания меньше - шаблонный код удален, значения по умолчанию используются, когда это возможно, и аннотации используются, чтобы уменьшить потребность в дескрипторах развертывания.

Как мы устанавливаем бин как управляемый бин. Что такое аннотация? Как это используется?

Управляемые бобы идентифицируются с помощью @ManagedBean аннотаций. Область действия компонента также указывается с помощью аннотаций (@RequestScoped, @SessionScoped, @ApplicationScoped, так далее).

Итак, следующее в JSF 1.0:

<managed-bean>
  <managed-bean-name>foo</managed-bean-name>
  <managed-bean-class>com.foo.Foo</managed-bean-class>
  <managed-bean-scope>session</managed-bean>
</managed-bean>

Может быть переписан как таковой в JSF 2.0:

@ManagedBean
@SessionScoped
public class Foo {
    //...
}

И упомянуто так на странице Facelet:

<h:inputText label="eMailID" id="emailId" 
value="#{foo.email}" size="20" required="true"/>

(По умолчанию имя управляемого компонента будет именем аннотированного класса с первой буквой класса в нижнем регистре.)

Смотрите также

Смотрите учебник по аннотациям.

Для JSF вы можете сделать что-то вроде этого (используя@ManagedBean аннотация):

@ManagedBean
public class YourManagedBean {
    ...
}

Вы можете использовать face-config.xml в JSF2 точно так же, как вы использовали в JSF 1.x. На самом деле, хотя аннотации часто можно использовать вместо файла face-config.xml, не каждая функция JSF доступна строго через аннотации, поэтому иногда вам нужен файл face-config даже в JSF2.

Однако есть одно небольшое отличие: вы должны обновить ссылку на версию XML-схемы в вашем файле face-config, чтобы отразить изменения схемы, которые вступили в силу с JSF2.

Другие вопросы по тегам