Настройка области просмотра в JSF 2.2

На JSF 2.2 у нас нет возможности установить View Scope на faces-config.xml .

Так как же это сделать? Отсутствует ли область просмотра в JSF 2.2?

Благодарю вас!


person Luciane    schedule 29.12.2013    source источник
comment
1-й — область просмотра не отсутствует в JSF2.2... 2-я — мы можем установить область просмотра в Faces-config.xml...   -  person 09Q71AO534    schedule 11.11.2014
comment
Что вы имеете в виду, у нас нет возможности установить область просмотра, вы говорите об IDE, дайте мне знать, если я ошибаюсь.   -  person 09Q71AO534    schedule 11.11.2014


Ответы (1)


Используйте аннотацию @ViewScoped для управляемого компонента:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean
@ViewScoped
public class AViewScopedBean {
    //managed bean contents...
}

Если вам не нравится конфигурация аннотаций (действительно странная), вы можете просто установить область просмотра в Faces-config.xml

<managed-bean>
    <managed-bean-name>aViewScopedBean<managed-bean-name>
    <managed-bean-class>some.package.AViewScopedBean</managed-bean-class>
    <managed-bean-scope>view</managed-bean-scope>
</managed-bean>

Обратите внимание, что это работает только в JSF 2. Убедитесь, что ваш файл faces-config настроен для работы с версией JSF 2.x:

<!-- relevant part of faces-config.xml file for this Q/A -->
<faces-config ... version="2.1">

Note: Warning make sure its Serializable

Сообщение об ошибке довольно простое:

java.io.NotSerializableException: com.bean.StatusBean2

Это означает, что ваш com.bean.StatusBean2 должен также реализовывать интерфейс Serializable. Из документации java.io.Serializable:

При обходе графа может встретиться объект, не поддерживающий интерфейс Serializable. В этом случае будет выброшено NotSerializableException, которое идентифицирует класс несериализуемого объекта. (это ошибка, которую вы получаете)

Вы можете узнать больше о сериализации Java здесь: Сериализация Java

Из вашего вопроса: необходимо ли реализовать сериализуемость?, BalusC уже опубликовал хороший ответ/объяснение: поддержка JSF bean должен быть сериализуемым? Спасибо за @Luiggi Mendoza

person 09Q71AO534    schedule 11.11.2014