Ersetzen von @ManagedBean Annotation durch @named erzeugt Fehler

Diskutiere Ersetzen von @ManagedBean Annotation durch @named erzeugt Fehler im Web Tier Forum; In einem Java-EE6-Tutorial wird die Einführung in JSF unter anderem über eine Bean mit nur einer Property samt getter und setter erstellt, diese...

  1. MissPiggy
    MissPiggy Neues Mitglied
    In einem Java-EE6-Tutorial wird die Einführung in JSF unter anderem über eine Bean mit nur einer Property samt getter und setter erstellt, diese wird mit der @ManagedBean-Annotation versehen.

    Beim Erstellen des Projekt habe ich versehentlich EE7 eingebunden und bekam die Meldung ich solle die Annotation ändern, laut einem anderen Tutorial durch @Named ersetzen. Leider funktioniert dies nicht, auf die Property kann dann nicht mehr zugegriffen werden. Die Annotation stammt aus dem Paket javax.inject. Habe ich das falsche Paket eingebunden oder kann man die Annotation so nicht ersetzen und ich muss das Projekt mit EE6 neu erstellen ?
     
    Zuletzt bearbeitet: 19. Nov. 2014
  2. Vielleicht hilft dir dieser Kurs hier weiter --> (hier klicken)
  3. stg
    stg Bekanntes Mitglied
    beans.xml vorhanden?
    Wenn nein, dann einfach ein (leeres) File mit dem Namen im WEB-INF-folder anlegen.

    Unabhängig davon kannst du natürlich auch unter EE7 einfach weiter die "alten" JSF annotationen, wie z.B. @ManagedBean verwenden..

    CDI ist einfach flexibler und in vielen Belangen überlegen, daher wird meist empfohlen diese Annotations zu verwenden, wann immer möglich.
     
    Zuletzt bearbeitet: 20. Nov. 2014
  4. MissPiggy
    MissPiggy Neues Mitglied
    Erstmal danke für die Antwort :)

    Die beans.xml ist vorhanden, wurde von Netbeans mit angelegt. Muss der Zugriff auf das Name-Property dann vielleicht anders als mit
    Code (Java):
    #{user.name}"
    erfolgen ? Oder müssen zusätzliche Angaben gemacht werden ?


    Wenn es mit dem Ändern der Annotation nicht getan ist würde ich das Thema CDI an dieser Stelle einschieben, auch wenn es im Moment vielleicht noch optional ist scheint es mir doch sinnvoller gleich es auf die Weise zu lernen die auch in Zukunft weiterhin angewendet werden kann. :rtfm:

    edit - meine Javaklasse hatte das Interface Serializable nicht implementiert, nachdem ich dies geändert habe ist der Zugriff auch wieder möglich.
     
    Zuletzt bearbeitet: 20. Nov. 2014
  5. MissPiggy
    MissPiggy Neues Mitglied
    So muss den Thread doch nochmal rauskramen - ich habe einen Fehler in der Klasse und kann ihn beim besten Willen nicht finden, die Fehlermeldung lautet 'BeanName is ambigous' und die Klasse kann nicht deployed werden.

    Die Datei- und Klassennamen sind aber 100%ig korrekt, ich habe sie mehrfach überprüft, zumal alle anderen Klassen aus dem Tutorialmaterial übernommen wurden und auch alle mit der Vorlage übereinstimmen . Es kommt daher nur diese Klasse in Frage:

    Code (Java):

    @Named
    @SessionScoped
    public class GreetingManager implements Serializable {
       
        @Inject
         private Greeter service;
         private String name;
         
        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
        public String getGreeting(){
            return service.sayHello(name);
        }
    }
     
    Greeter ist ein Interface welches als einziges die Methode sayHello definiert, diese wird von einer Klasse BigGreeter inplementiert.
    Wo ist der Fehler der das Deployment verhindert ?
     
Die Seite wird geladen...

Ersetzen von @ManagedBean Annotation durch @named erzeugt Fehler - Ähnliche Themen

Wert in Textdatei ersetzen?
Wert in Textdatei ersetzen? im Forum Java Basics - Anfänger-Themen
char in String suchen und durch anderen String ersetzen
char in String suchen und durch anderen String ersetzen im Forum Java Basics - Anfänger-Themen
2 Stellen in einem Array vergleichen und bei übereinstimmen eine davon ersetzen
2 Stellen in einem Array vergleichen und bei übereinstimmen eine davon ersetzen im Forum Java Basics - Anfänger-Themen
Java - Applet - Rechteck ständig versetzen
Java - Applet - Rechteck ständig versetzen im Forum Java Basics - Anfänger-Themen
public Getter ersetzen (Reflection?!)
public Getter ersetzen (Reflection?!) im Forum Allgemeine Java-Themen
Thema: Ersetzen von @ManagedBean Annotation durch @named erzeugt Fehler

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. @ManagedBean