Question

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 !

Was it helpful?

Solution

Your greetingManager class should be a managed bean in order to access it from your .xhtml file. To do so, you need to add the

@ManagedBean

annotation.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top