I am following some tutorial about Java EE, trying to do an simple example on my own. Even I type exactly the same in my code, it won't work. The difference is (between mine and the example in the tutorial) that i am using Eclipse Kepler
(not NetBeans) and Apache Tomcat
(not GlassFish).
HTTP Status 500 - javax.el.PropertyNotFoundException: Target Unreachable, identifier 'greetingManager' resolved to null
Here's the code: of the index.xhtml
:
<!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://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>Yo Digga Yo</title>
</h:head>
<h:body>
<h:form>
<h:inputText value="#{greetingManager.name}" />
<h:commandButton action="greet" value="click" />
</h:form>
</h:body>
</html>
that's the GreetingManager
class:
package com.maja.greeting;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
@Named
@SessionScoped
public class GreetingManager implements Serializable{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGreeting() {
return "...";
}
}
ant finally, that's the greet.xhtml:
<!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://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head></h:head>
<h:body>
<h2>#{greetingManager.greeting}</h2>
</h:body>
</html>
I've already imported the required .jar files for the @Named and @SessionScoped annotations, because tomcat doesn't provide them (?)
Ps. This tutorial is about CDI, so I kinda "have to" do this with the @Named Annotation :) And the code is not finished !