Нулевой, когда управляемый bean-компонент сеанса был взят из сеанса - PullRequest
0 голосов
/ 30 октября 2018

Вот объявление управляемого компонента:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name = "user")
@SessionScoped
public class UserConsoleAction extends UserAction implements Serializable {

И следующий код из сервлета возвращает ноль:

UserConsoleAction uca =  (UserConsoleAction) req.getSession().getAttribute("user");

Это старый код, написанный на JSF 1, и теперь используется JSF 2.2. Это работало нормально и смогло получить управляемый компонент из сеанса, когда управляемый компонент был объявлен в Face-config.xml.

<managed-bean>
    <description>Used for user console functions</description>
    <managed-bean-name>user</managed-bean-name>
    <managed-bean-class>com.web.admin.UserConsoleAction</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

Но когда я удалил эту записьface-config.xml и использовал аннотацию ManagedBean, код для получения экземпляра управляемого компонента из сеанса возвращает значение NULL. В чем может быть причина этого изменения, поскольку это только часть объявления, измененная с xml на аннотацию.

Аннотация ManagedBean работала нормально, когда расширяется UserAction удаляется. UserAction - это бин области действия запроса, а UserConsoleAction - это область сеанса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...