Cześć,
proszę o pomoc w takiej kwestii. Netbeans 15, aplikacja webowa, JSF 2.3, GlassFish 5.0. Tworząc beany poprzez @ManagedBean
wszystko działa jak należy. Ale chcę oczywiście użyć @Named
i aplikacja w ogóle nie widzi tych beanów. Już stworzyłem nowy, prosty projekt "Web Application", z netu prosty przykład mający wyświetlać po prostu napis. I nie działa - to znaczy nie wyświelta wartości z metody / pola beana, nie widzi go. Tak, jakby CDI nie działało. Według mnie wszystkie warunki by projekt działał są spełnione. W bean'ie są adnotacje @Named
, @RequestScoped
, jest plik beans.xml
. Z linijki kodu w index.xhtml "Message is: #{messageServerBean.message}"
wyświetlane jest tylko "Message is:"
. W Netbeans 12.0 też to nie działa. Kombinowałem na dziesiątą stronę i nie mam już pomysłu. Poniżej kody.
MessageServerBean.java
package exercise1;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
@Named("msg")
@SessionScoped
public class MessageServerBean implements Serializable {
public String getMessage() {
return "Ple ple";
}
}
index.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form>
Hello from Facelets
<br/>
Message is: #{messageServerBean.message}
<br/>
</h:form>
</h:body>
</html>