Bin ich jetzt bekloppt?!? / Property not found (resolved tu null)

FINF_AW_Alex

Aktives Mitglied
Hey Leute!

Bei mir kanns ja schonmal vorkommen das ich mir Sachen 2 mal anschauen muss
aber jetzt hab ich hier ein Ding das raubt mir echt den Verstand.

Ich hab ein Programm geschrieben das mit mehreren KLassen arbeitet und will in der
View über ein PresentationModel auf eine Methode zugreifen.

Jetz bekomm ich jedoch bei dem einfachsten Zugriff über die EL ein propperty not found
das kann doch icht sein oder??

01.PNG

Die Klasse AclPM.java hatte ich ausversehen aclPM.java genannt und später über
refactor umbenannt, könnte das ein Problem sein?

HTML:
    <h:body>
        
        <h:form>
            <h:panelGrid columns="2">
                <h:commandButton value="send" action="#{aclPM.test()}"/>
            </h:panelGrid>            
        </h:form>
   
    </h:body>


Java:
@Named
@RequestScoped
public class AclPM {
    
    public void test(){
        System.out.println("Test erfolgreich !!");
    }
    
    
}
 

VfL_Freak

Top Contributor
Moin,

die Fehlermeldung auf Deinen Java-Code - Zeile 94, was steht denn da ??

Du scheinst aber immer noch "aclPM.test()" binden zu wollen ...
Bist Du sichwer, dass durch das Refactoring wirklich ALLES umbenannt wurde (Klassen und Methoden, deren Aufrufe, ggf. Dateinamen) ??
Das würde ich ggf. mal zuerst prüfen!

Gruß
Klaus
 

stg

Top Contributor
Einen Fehler kann ich nicht erkennen.
Möglicherweise geistert da noch irgendwo eine alte Version im Cache herum?
Lief denn alles vor dem Refactroring? Wenn nein, welche JSF version benutzt du? Und Welche Java Version?
Aus welchen Pakten importierst du deine Annotationen?
Zunächst einfach mal sauber undeployen und neu builden und dann wieder deployen.
Teste ansonsten auch einfach mal, ob der Zugriff mittels #{Acl...} funktioniert. Sofern die ersten Beiden Buchstaben des Klassennamens UpperCase sind, so bleibt der Zugriffsname in der EL auch UpperCase. Bei dir sind die UpperCase Buchstaben zwar am Ende, und da ist mir dergleichen nicht bekannt, aber probieren tut ja nicht weh..
Wie du dir zudem den Namen aller deployed beans ansehen kannst, kannst dz z.B. hier: How To Discover All Deployed Beans : Adam Bien's Weblog nachlesen.
Wenn das auch alles nicht hilft, und auch eine explizite Angabe des Namens in der Annotation, @Named("aclPM") nicht funktioniert, dann liegt der Fehler wohl ganz woanders..
 

stg

Top Contributor
Moin,
die Fehlermeldung auf Deinen Java-Code - Zeile 94, was steht denn da ??
Du scheinst aber immer noch "aclPM.test()" binden zu wollen ...
Bist Du sichwer, dass durch das Refactoring wirklich ALLES umbenannt wurde (Klassen und Methoden, deren Aufrufe, ggf. Dateinamen) ??

Im geposteten Code ist kein Fehler. Alle Aufrufe passen so zusammen. lowerCase Aufrufe in der EL bei UpperCase Klassennamen entsprechen den Spec.
 

FINF_AW_Alex

Aktives Mitglied
Hey!
Danke für den superschnellen Support ;-)

Also das explizite benennen via @Named("aclPM") hat jetzt geholfen.

Es war wohl wirklich irgendwo noch was versteckt.
Wenn ich es noch weiter herrausfinde werd ich es hier posten.

Aber danke erstmal, hat mich gestern echt Nerven gekostet weil die ganze App deswegen nicht mehr lief... :-(
 

Ähnliche Java Themen

Neue Themen


Oben