Я пытаюсь настроить простой проект JSF.
Я создал новый динамический веб-проект и скорректировал его фасеты:
После этого я добавил класс 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.xml
Bean-Discovery-Mode
установлено на all
.