Переход с @ManagedBean на @Named не работает - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь настроить простой проект JSF.

Я создал новый динамический веб-проект и скорректировал его фасеты:

enter image description here

После этого я добавил класс MessageServerBean:

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@SessionScoped
@ManagedBean
public class MessageServerBean implements Serializable {

    private static final long serialVersionUID = 1L;

    public String getMessage() {
        return "Hello World!";
    }
}

и файл XHTML:

<h:body>

    Hello from Facelets
    <br />
    Message is: #{messageServerBean.message}
    <br />
    Message Server Bean is: #{messageServerBean}    

</h:body>

Когда я его выполняю, все работает, как задумано:

Hello from Facelets 
Message is: Hello World! 
Message Server Bean is: bean.MessageServerBean@30ecf01b:

Но после перехода с JSF Bean на CDI Bean:

import java.io.Serializable;

import javax.enterprise.context.SessionScoped; // changed
import javax.inject.Named; // changed

@SessionScoped
@Named // changed
public class MessageServerBean implements Serializable {

    private static final long serialVersionUID = 1L;

    public String getMessage() {
        return "Hello World!";
    }
}

Содержимое из компонента больше не загружается:

Hello from Facelets 
Message is: 
Message Server Bean is:

В beans.xmlBean-Discovery-Mode установлено на all.

...